[英]Convert Pandas Dataframe to JSON format: how to group
我有一个熊猫数据框:
nodes x y z
0 1 0.0000 0.000 0.0000
1 2 0.0000 9.144 0.0000
2 3 19.5072 0.000 0.0000
3 4 19.5072 9.144 0.0000
4 5 9.7536 0.000 0.0000
.. ... ... ... ...
175 176 19.5072 9.144 27.7368
176 177 19.5072 9.144 25.7556
177 178 19.5072 9.144 21.7932
178 179 19.5072 9.144 19.8120
179 180 19.5072 9.144 17.8308
转换为 JSON:
{
"nodes": {
"1": {
"x": 0,
"y": 0,
"z": 0
},
"2": {
"x": 0,
"y": 9.144,
"z": 0
},
"3": {
"x": 19.5072,
"y": 0,
"z": 0
},
"4": {
"x": 19.5072,
"y": 9.144,
"z": 0
},
"5": {
"x": 9.7536,
"y": 0,
"z": 0
},
},
}
我刚开始使用python。 在谷歌之后,我尝试过:
out = df.to_json(orient = 'records')
print(json.dumps(json.loads(out), indent=4))
结果是:
{
"nodes": 1,
"x": 0.0,
"y": 0.0,
"z": 0.0
},
{
"nodes": 2,
"x": 0.0,
"y": 9.144,
"z": 0.0
},
{
"nodes": 3,
"x": 19.5072,
"y": 0.0,
"z": 0.0
},
请帮忙。 谢谢你。
您可以利用groupby
功能来实现您想要的输出:
out = {'nodes': df.groupby('nodes').last().to_dict(orient='index')}
print(json.dumps(out, indent=4))
结果是:
{
"nodes": {
"1": {
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"2": {
"x": 0.0,
"y": 9.144,
"z": 0.0
},
"3": {
"x": 19.5072,
"y": 0.0,
"z": 0.0
},
"4": {
"x": 19.5072,
"y": 9.144,
"z": 0.0
},
"5": {
"x": 9.7536,
"y": 0.0,
"z": 0.0
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.