在Pandas中使用数组值创建JSON键

时间:2018-08-16 04:10:42

标签: python pandas

我有一个被操纵过几次的数据框。最终结果是一个数据帧,如下所示:

    Company volume
1   NV      14
2   GD      8
3   AB      6

我将此数据帧转换为json格式,如下所示:

formattedDF.to_json(orient='columns')

但是,我得到这样的东西:

'{"company":{"1":"NV","2":"GD","3":"AB"},"volume":{"1":14,"2":8,"3":6}}'

与我想要的非常接近,但是我要寻找的格式是:

'{"company": ["NV", "GD","AB"], "volume":[14, 8, 6}]'

其中的键以数组格式给出值。我该如何实现?

2 个答案:

答案 0 :(得分:5)

或者:

print(df.to_dict(orient='list'))

输出:

{'Company': ['NV', 'GD', 'AB'], 'volume': [14, 8, 6]}

答案 1 :(得分:2)

使用字典理解:

{k: df[k].tolist() for k in df}

或使用apply(list)

df.T.apply(list, 1).to_dict()

两种产品:

{'Company': ['NV', 'GD', 'AB'], 'volume': [14, 8, 6]}