我有一个带有嵌套属性值对的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的新手。
答案 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