如何将熊猫数据框转换为特定的json格式

时间:2020-11-09 08:27:39

标签: python json pandas dataframe chart.js

我一直在研究将熊猫数据帧导出到json文件中的不同方法,但是我不确定如何在JSON中包含其他字符串“ constants”。

目的是吐出一个 chart.js 可以读取的JSON文件。

该示例的熊猫数据框的格式为:

    month   order   visit   frequency
0   1월      171     2042    8.4
1   2월      72      475     15.2
2   3월      68      405     16.8
3   4월      84      991     8.5
4   5월      96      684     14.0
5   6월      58      576     10.1
6   7월      78      671     11.6
7   8월      67      576     11.6
8   9월      140     1168    12.0
9   10월     124     837     14.8

JSON所需文件的格式为:

{
  "labels": [
    "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월"
  ],
  "datasets": [
    {
      "label": "order",
      "data": [
        171, 72, 68, 84, 96, 58, 78, 67, 140, 124
      ]
    },
    {
      "label": "visit",
      "data": [
        2042, 475, 405, 991, 684, 576, 671, 576, 1168, 837
      ]
    },
    {
      "label": "frequency",
      "data": [
        8.4, 15.2, 16.8, 8.5, 14, 10.1, 11.6, 11.6, 12, 14.8
      ]
    }
  ]
}

我可以使用pandas的内置函数将pandas文件导出为JSON,但我不知道如何分离向量并添加上面看到的常量值。

我的目的是可以在chart.js中使用的json格式

1 个答案:

答案 0 :(得分:0)

您可以这样解决它:

df = df.set_index('month')
out = {'labels': df.index.tolist(), 'datasets': []}
for col in df.columns:
    out['datasets'].append({
        'label': col,
        'data': df[col].values.tolist()
    })