我需要逐行将Pandas数据框的一些结果输出到JSON。我已经整理了导出文件,效果很好,这是将某些列放入数组的详细信息。例如
Id customerId baseValue targetValue
1 Customer1 482 306
2 Customer2 723 420
3 Customer3 279 161
4 Customer4 162 774
我需要以ID 1的样式导出
{"Id": "1",
"customerId": "Customer1",
"results": [{"baseValue": 482},
{"targetValue": 306}
]
}
我被卡住了
"results": [{"baseValue": 482},
{"targetValue": 306}
]
有指针吗?
谢谢
答案 0 :(得分:0)
您尝试过吗:
df.to_json(orient="index")
答案 1 :(得分:0)
您可以尝试执行以下操作在数据框中创建“结果”列:
df.assign(results = df.apply(lambda x: [x[['baseValue','targetValue']].to_dict()], axis=1)).drop(['baseValue','targetValue'], axis=1).to_dict(orient='records')
输出:
[{'Id': 1,
'customerId': 'Customer1',
'results': [{'baseValue': 482, 'targetValue': 306}]},
{'Id': 2,
'customerId': 'Customer2',
'results': [{'baseValue': 723, 'targetValue': 420}]},
{'Id': 3,
'customerId': 'Customer3',
'results': [{'baseValue': 279, 'targetValue': 161}]},
{'Id': 4,
'customerId': 'Customer4',
'results': [{'baseValue': 162, 'targetValue': 774}]}]