gpt4 book ai didi

python - 在 python 中将 Pandas 数据帧转换为 json 的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:33 40 4
gpt4 key购买 nike

我正在尝试在 python 中将 pandas 数据帧转换为 json。但我无法在 json 中获得想要的结果格式我是 pandas 的新手,有没有一种方法可以转换并简单地使用我能想到的就是一遍又一遍地创建循环来获取键“freq”和状态。但我觉得必须有更好的方法。如有任何建议,我们将不胜感激。

json:我想要:

 [
{State:'AL',freq:{low:4786, mid:1319, high:249}}
,{State:'AZ',freq:{low:1101, mid:412, high:674}}
,{State:'CT',freq:{low:932, mid:2149, high:418}}
,{State:'DE',freq:{low:832, mid:1152, high:1862}}
,{State:'FL',freq:{low:4481, mid:3304, high:948}}
,{State:'GA',freq:{low:1619, mid:167, high:1063}}
,{State:'IA',freq:{low:1819, mid:247, high:1203}}
,{State:'IL',freq:{low:4498, mid:3852, high:942}}
,{State:'IN',freq:{low:797, mid:1849, high:1534}}
,{State:'KS',freq:{low:162, mid:379, high:471}}
];

但我的数据框有 3 列,如下所示:

数据框:我得到了

State   type    freq
AZ low 1101
CT low 932
DE low 832
FL low 4481
GA low 1619
IA low 1819
IL low 4498
IN low 797
KS low 162
AZ mid 412
CT mid 2149
DE mid 1152
FL mid 3304
GA mid 167
IA mid 247
IL mid 3852
IN mid 1849
KS mid 379
AZ high 674
CT high 418
DE high 1862
FL high 948
GA high 1063
IA high 1203
IL high 942
IN high 1534
KS high 471

最佳答案

import pandas as pd

data = """\
State type freq
AZ low 1101
CT low 932
DE low 832
FL low 4481
GA low 1619
IA low 1819
IL low 4498
IN low 797
KS low 162
AZ mid 412
CT mid 2149
DE mid 1152
FL mid 3304
GA mid 167
IA mid 247
IL mid 3852
IN mid 1849
KS mid 379
AZ high 674
CT high 418
DE high 1862
FL high 948
GA high 1063
IA high 1203
IL high 942
IN high 1534
KS high 471"""

data = pd.DataFrame([line.split() for line in data.splitlines()[1:]],
columns=data.splitlines()[0].split())

bystate = data.pivot('State', 'type')

打印

          freq            
type high low mid
State
AZ 674 1101 412
CT 418 932 2149
DE 1862 832 1152
FL 948 4481 3304
GA 1063 1619 167
IA 1203 1819 247
IL 942 4498 3852
IN 1534 797 1849
KS 471 162 379

一旦你有了最终的数据框,你就可以使用 bystate.to_json() 来获取 JSON 格式的字符串。

关于python - 在 python 中将 Pandas 数据帧转换为 json 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665021/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com