[英]How to convert the list dictionary from a column value into column in pandas df?
我有不同的列,其中一些列包含一个列表,而该列表包含另一个字典。 我想将该列表转换为列,但我不确定哪种技术是最好的......
这是我的 df 的外观:
Car Year Conv Cost
BMW 2001 [{'action_type': None, 'value': None}] 2000
VW 2009 [{'action_type': 'landing_page_view', 'value':'50'}] 5000
这就是我希望看到的理想状态
Car Year Conv - action_type Conv - value Cost
BMW 2001 None None 2000
VW 2009 landing_page_view 50 5000
这对我有用(假设list
中只有一个dict
):
new = {}
for row in range(df.shape[0]):
d = df.loc[row, 'Conv'][0]
for k in d.keys():
if 'Conv - ' + k in new.keys():
new['Conv - ' + k].append(d[k])
else:
new['Conv - ' + k] = [d[k]]
for k,v in new.items():
df[k] = v
df.drop(columns='Conv', inplace=True)
df = df[['Car', 'Year', 'Conv - action_type', 'Conv - value', 'Cost']]
这是一个快速而肮脏的解决方案
df['Conv - Action_type'] = df['Conv'].apply(lambda x: x[0]['action_type'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.