解析数据框列以创建新的数据框

时间:2019-01-04 03:11:52

标签: python pandas dataframe

我有一个带有嵌套属性值对的colmuns的数据框。如何解析此dataframe列并获取这些值以为其创建一个新的dataframe?

这是列值之一,如下所示:

{'BikeParking': 'False', 'BusinessAcceptsCreditCards': 'True', 'BusinessParking': "{'garage': False, 'street': True, 'validated': False, 'lot': False, 'valet': False}", 'GoodForKids': 'True', 'HasTV': 'True', 'NoiseLevel': 'average', 'OutdoorSeating': 'False', 'RestaurantsAttire': 'casual', 'RestaurantsDelivery': 'False', 'RestaurantsGoodForGroups': 'True', 'RestaurantsPriceRange2': '2', 'RestaurantsReservations': 'True', 'RestaurantsTakeOut': 'True'}

并非所有列也都具有相同的属性。 请帮忙,我是python的新手。

3 个答案:

答案 0 :(得分:0)

如果您的字典未嵌套,则可以执行以下操作。

pd.DataFrame(list(df['column_name'])

如果您有嵌套词典,请尝试对嵌套词典再次执行上述操作。

答案 1 :(得分:0)

不清楚要查找什么,但另一件事可能有用的是使用apply函数来解析数据帧的每一行以创建带有结果的新列。

def _parsing_function(row):
    // column containing nested values
    dict = row['column_name']
    for key in dict:
        'do something'
        return 'new column value'

frame['new_column'] = frame.apply(_parsing_function, axis=1)

答案 2 :(得分:0)

要在现有数据框列中查找字典并创建新的数据框,可以遍历该列并根据需要创建数据框:

new_dfs = []   # list of new dataframes from dictionaries in existing column
for elem in df['column_name']:
    if type(elem) is dict:
        new_dfs.append(pd.DataFrame(elem))  # add to list of created dataframes
相关问题