我对Python编程有点陌生。我有一个小要求,我需要以JSON格式列出给定的两周内的所有客户及其金额。目前,我有这种方式的数据框-
FortNight AmountValue Customer
2018-04-29 339632.00 10992
2018-04-29 27282.00 10994
2018-04-29 26353.00 10995
2018-04-29 24797.00 11000
2018-04-29 21093.00 10990
预期-
"Apr-2FN-2018":[
{"Customer":"10992","AmountValue":"339632.00"},
{"Customer":"10994","AmountValue":"27282.00"},
{"Customer":"10995","AmountValue":"26353.00"},
{"Customer":"11000","AmountValue":"24797.00"},
{"Customer":"10990","AmountValue":"21093.00"}
]
我尝试使用
df.(orient = "records", date_format = "iso")
但是它以下面的方式检索值-
{"FortNight":"2018-04-29T00:00:00.000Z","AmountValue":21093.8,"Customer":10990}
我也尝试了其他方法,但徒劳无功。欢迎任何帮助。 在此先感谢!! ...
答案 0 :(得分:2)
首先,您需要在FortNight列中使用set_index,然后再使用 试试这个
x
答案 1 :(得分:1)
确定这不是最好的(pythonic)方法,但我认为它将产生所需的结果
dict(df.groupby('FortNight').apply(lambda x: [{x.columns[1:].values[0] :y[0]} for y in x.values[:,1:]]))