gpt4 book ai didi

python - 将 Pandas Dataframe 转换为自定义嵌套 JSON

转载 作者:行者123 更新时间:2023-12-01 08:24:53 27 4
gpt4 key购买 nike

我必须将 Pandas Dataframe 转换为嵌套 json。我尝试使用 to_json 但它将整个数据帧转换为键值对,不知道如何转换这样的嵌套 json。非常感谢任何帮助。

我的数据框:

df=pd.DataFrame({'id':[1,2,3,4,5,6,7],'name':['walmart','walmart dc','walmart supercenter','wal','walmart 5603','walmart#5603'
,'Sams walmart'],'Cluster_id':[123,123,123,123,123,123,123],
'Cluster_name':['walmart','walmart','walmart','walmart','walmart','walmart','walmart'],'House_num':[123,456,789
,654,321,102,945]
,'Street':['Main Street','Main Street','Main Street','Main Street','Main Street','Main Street','Main Street'],
'Cluster_Street':['Main Street','Main Street','Main Street','Main Street','Main Street','Main Street','Main Street'],
'Cluster_House_Num':[456,456,456,456,456,456,456]
})

enter image description here

输出 JSON:

{
'cluster_id':123
'cluster_name':'walmart'
'address':{
'House_num':456
'Street': 'Main Street'
}
'records':[{
'id':1
'name':'walmart'
'address':{
'House_num':123
'Street': 'Main Street'
}
},{
'id':2
'name':'walmart dc'
'address':{
'House_num':456
'Street': 'Main Street'
}
},{
'id':3
'name':'walmart supercenter'
'address':{
'House_num':789
'Street': 'Main Street'
}
},{
'id':4
'name':'wal'
'address':{
'House_num':654
'Street': 'Main Street'
}
},{
'id':5
'name':'walmart 5603'
'address':{
'House_num':321
'Street': 'Main Street'
}
},{
'id':6
'name':'walmart#5603'
'address':{
'House_num':102
'Street': 'Main Street'
}
},{
'id':7
'name':'Sams walmart'
'address':{
'House_num':945
'Street': 'Main Street'
}
}]

}

最佳答案

import pandas as pd

df=pd.DataFrame({'id':[1,2,3,4,5,6,7],'name':['walmart','walmart dc','walmart supercenter','wal','walmart 5603','walmart#5603'
,'Sams walmart'],'cluster_id':[123,123,123,123,123,123,123],
'cluster_name':['walmart','walmart','walmart','walmart','walmart','walmart','walmart'],'House_num':[456,456,456
,456,456,456,456]
,'Street':['Main Street','Main Street','Main Street','Main Street','Main Street','Main Street','Main Street']
})

df_cluster = df.groupby('cluster_id')
for cluster_id, group in df_cluster:

records = []
for row, data in group.iterrows():
rec_dict = {'id':data[4],
'name':data[3],
'address':{
'House_num':data[0],
'Street': data[1]
}
}
records.append(rec_dict)

out_dict = {'cluster_id':cluster_id,'records':records}
print (out_dict)

关于python - 将 Pandas Dataframe 转换为自定义嵌套 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54332135/

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