使用1个公共值列作为数组字段将数据帧转换为JSON

时间:2018-07-05 09:30:24

标签: python json pandas

我对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}

我也尝试了其他方法,但徒劳无功。欢迎任何帮助。 在此先感谢!! ...

2 个答案:

答案 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:]]))