熊猫从字典创建新列

时间:2020-03-17 20:44:59

标签: python pandas dictionary

我的数据框中的一列“ relatedWorkOrder”的一部分看起来像这样:

{'number': 2552, 'labor': {'name': 'IA001', 'code': '70M0901003'}...}
{'number': 2552, 'labor': {'name': 'IA001', 'code': '70M0901003'}...}
{'number': 2552, 'labor': {'name': 'IA001', 'code': '70M0901003'}...}

我想要的输出是具有其各自值的列'name','labor_name','labor_code'。我可以使用正则表达式提取并替换:

df['name'] = df['relatedWorkOrder'].str.extract(r'{regex}',expand=False).str.replace('something','')

但是我在本专栏中有几本词典,这种方式很乏味,我也想知道是否有可能通过访问字典的键和值来做到这一点

有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

您可以从pd.json_normalize中加入结果:

df.join(pd.json_normalize(df['relatedWorkOrder'], sep='_'))