如何仅使用Pandas的json_normalize将嵌套字典转为目标长格式DataFrame
仅使用
json_normalize将字典转换为指定格式的Pandas DataFrame 我希望仅使用json_normalize将字典转换为Pandas DataFrame。
现有代码与输出
现有代码:
d = {'date': '20-NOV-2021', 'sector': {'South': 8, 'Est': 9, 'North': 12, 'Ouest': 9}} pd.json_normalize(d)
输出结果:
| date | sector.South | sector.Est | sector.North | sector.Ouest |
|---|---|---|---|---|
| 20-NOV-2021 | 8 | 9 | 12 | 9 |
期望输出的DataFrame格式
| sector | value | date |
|---|---|---|
| South | 8 | 20-NOV-2021 |
| Est | 9 | 20-NOV-2021 |
| North | 12 | 20-NOV-2021 |
| Ouest | 9 | 20-NOV-2021 |
实现方案
调整json_normalize的展开参数,配合常规列调整即可实现需求:
df = pd.json_normalize( d, record_path="sector", meta="date" ) # 调整列名与列顺序匹配目标格式 df.columns = ['value', 'date'] df.insert(loc=0, column='sector', value=d['sector'].keys())
运行上述代码即可得到期望的输出结果。
内容的提问来源于stack exchange,提问作者Adil Blanco
相关产品推荐
相关产品推荐

