我应该如何转换我的 JSON 以便我可以在我的 Ant Design 折线图中使用它

How should I convert my JSON so that I can use it in my Ant Design Line Chart

我正在将数据从 BigQuery 提取到我的 Django,然后将其转换为 JSON,然后使用 Ant Design Charts 在我的前端 (ReactJS) 上呈现它。我需要做一个多线绘图。

我目前的 JSON 看起来像这样:

[
    {
        "date": "2021-11-12", 
        "hour": "6.0", "predict": 25.6775, 
        "lower_80": 25.775, 
        "upper_80": 26.2, 
        "lower_90": 21.8525, 
        "upper_90": 26.2, 
        "lower_95": 20.92625, 
        "upper_95": 26.2
    }, 
    {
        "date": "2021-11-12", 
        "hour": "7.0", 
        "predict": 26.2, 
        "lower_80": 26.2, 
        "upper_80": 26.2, 
        "lower_90": 26.2, 
        "upper_90": 26.2, 
        "lower_95": 26.2, 
        "upper_95": 26.2
    },
    ...
]

我想根据每一列绘制每一行(lower_80、upper_80、等等...)

从 Ant Design Charts 示例中,他们有一个 json 数据示例,例如:

[
    {
      "year": "1850",
      "value": 0,
      "category": "Liquid fuel"
    },
    {
      "year": "1850",
      "value": 54,
      "category": "Solid fuel"
    },
    ...
]

他们正在根据category列进行绘图。将我的数据转换成类似于他们的 json 格式的最佳方法是什么?

注意:由于我是用Django从BigQuery中拉取数据,如果有使用Pandas进行数据操作的解决方案也是可以的。

这可以使用 df.melt() 实现,我在其中输入 id_vars 参数,在本例中为 'Date' 和 'Hour' 列。这会将数据帧转换为长格式,然后将其转换为 JSON 对象以实现所需的输出。