自定义熊猫数据框为json

时间:2020-02-01 14:27:06

标签: python json pandas

我的数据框df如下

A B C    
1 2 3   
a b c   

我需要将其转换为json,如下所示:

'{"data" :[  
{'type':'df',
 'column_name':'A',
'values':['1','a'] },  
{'type':'df',
 'column_name':'B',
'values':['2','b'] },  
{'type':'df',
 'column_name':'C',
'values':['3','c'] }
] }'   

我如何轻松地做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以遍历数据框并将值添加到您自己的自定义词典中:

from collections import defaultdict
import numpy as np
import pandas as pd

d = defaultdict(list)

for column in df.columns:
    d['data'].append(
        {'type' : 'df',
        'column_name' : column,
        'values' : df[column].to_numpy() }
    )

print(dict(d))
out:
    {'data': [{'type': 'df',
   'column_name': 'A',
   'values': array(['1', 'a'], dtype=object)},
  {'type': 'df',
   'column_name': 'B',
   'values': array(['2', 'b'], dtype=object)},
  {'type': 'df',
   'column_name': 'C',
   'values': array(['3', 'c'], dtype=object)}]}