如何将 JSON 对象展平为 Pandas Dataframe 对象 [重复]

Posted

技术标签:

【中文标题】如何将 JSON 对象展平为 Pandas Dataframe 对象 [重复]【英文标题】:How to flatten JSON object to pandas Dataframe object [duplicate] 【发布时间】:2020-09-05 07:17:45 【问题描述】:

我有一个包含多个项目的列表

result = *json_formatted*
print(result) <-- ['id: 1', value: array([10,11,12]), id: 2, value: array([20,21,22]) ] 

我正在努力将其作为数据框。 我希望我的输出看起来像

id value
1 10
1 11
1 12
2 20
2 21
2 22

【问题讨论】:

你的json格式有效吗? 这能回答你的问题吗? How to unnest (explode) a column in a pandas DataFrame? 【参考方案1】:

认为这是您的result

In [940]: import numpy as np
In [941]: result = ['id': 1, 'value': np.array([10,11,12]), 'id': 2, 'value': np.array([20,21,22]) ] 

您可以使用df.explode:(在pandas 版本> 0.25 中可用,正如@Shijith 指出的那样)

In [952]: import pandas as pd
In [946]: df = pd.DataFrame(result)
In [950]: df = df.explode('value')

In [951]: df
Out[951]: 
   id value
0   1    10
0   1    11
0   1    12
1   2    20
1   2    21
1   2    22

【讨论】:

如果熊猫版本 > 0.25 哦,没错。已更新答案。感谢您指出。 检查您的pandas 版本。 只需print(pd.__version__) 即可查看熊猫版本 我的是0.23.4,我现在升级它干杯

以上是关于如何将 JSON 对象展平为 Pandas Dataframe 对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将嵌套的 dict 列表展平为 Pandas Dataframe

Pandas json_normalize 不会展平所有嵌套字段

如何将 Pandas DataFrame 中的字典列表展平为几列?

从嵌套的 json 列表中展平 Pandas DataFrame

将带有数组的 json 结构展平为多个没有数组的平面对象

pandas json_normalize 展平嵌套字典