Python 从多列数据帧规范化JSON对象
我试图从一个请求中提取JSON的一些信息,但在某一点上遇到了一些问题 因为我的数据是嵌套的JSON,所以我首先使用Python 从多列数据帧规范化JSON对象,python,python-3.x,Python,Python 3.x,我试图从一个请求中提取JSON的一些信息,但在某一点上遇到了一些问题 因为我的数据是嵌套的JSON,所以我首先使用 df = json_normalize(response) 将信息输入df。但结果我得到了一个df,它仍然有一个包含JSON样式信息的列,我不能再使用JSON_规范化来提取它了。 df看起来像: id duration columnA 1 12 [{"A": "600", "B": "3
df = json_normalize(response)
将信息输入df。但结果我得到了一个df,它仍然有一个包含JSON样式信息的列,我不能再使用JSON_规范化来提取它了。
df看起来像:
id duration columnA
1 12 [{"A": "600", "B": "30", "C": "50"},{"A": "200", "B": "35", "C": "50"}]
2 5 [{"A": "300", "B": "70", "C": "80"},{"A": "400", "B": "76", "C": "90"}]
但是当我尝试的时候
df2 = json_normalize(df['columnA'])
我只得到一个错误“AttributeError:“list”对象没有属性“values”
因此,我希望得到一个df,如:
A B C
600 30 50
200 35 50
300 70 80
400 76 90
你能试试这个吗
df = json_normalize(response, 'columnA', ['A','B','C'])
假设A、B和C是平的,你能试试这个吗
df = json_normalize(response, 'columnA', ['A','B','C'])
假设A、B和C是平面的您可以将每个内部对象标准化,并将结果数据帧合并在一起:
将熊猫作为pd导入
从pandas.io.json导入json_规范化
df=pd.DataFrame(
[
[
1.
2.
[{“A”:“600”,“B”:“30”,“C”:“50”},{“A”:“200”,“B”:“35”,“C”:“50”}],
],
[
2.
5.
[{“A”:“300”、“B”:“70”、“C”:“80”}、{“A”:“400”、“B”:“76”、“C”:“90”}],
],
],
columns='id duration columnA'.split(),
)
打印(pd.concat(list(df.columnA.map(json_normalize)))
输出:
A B C
0 600 30 50
1 200 35 50
0 300 70 80
1 400 76 90
您可以将每个内部对象标准化,并将生成的数据帧合并在一起:
将熊猫作为pd导入
从pandas.io.json导入json_规范化
df=pd.DataFrame(
[
[
1.
2.
[{“A”:“600”,“B”:“30”,“C”:“50”},{“A”:“200”,“B”:“35”,“C”:“50”}],
],
[
2.
5.
[{“A”:“300”、“B”:“70”、“C”:“80”}、{“A”:“400”、“B”:“76”、“C”:“90”}],
],
],
columns='id duration columnA'.split(),
)
打印(pd.concat(list(df.columnA.map(json_normalize)))
输出:
A B C
0 600 30 50
1 200 35 50
0 300 70 80
1 400 76 90
发布你的
回复
内容发布你的回复
内容