将多列上groupby的结果转换为字典列表

2024-06-01 19:48:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将pandas groupby函数的结果转换为一个字典数组,然后前端的recharts可以使用该数组

代码运行:

data.groupby(['date','board_type'])['count'].sum()

groupby的输出:

date        board_type
2021-01-02  B1        11
            B2       105
2021-01-03  B1        30
            B2        73
2021-01-04  B1       188

转换后的预期产量:

[
  {
    date: 2021-01-02, B1: 11, B2: 105
  },
  {
    date: 2021-01-03, B1: 30, B2: 73
  },
  {
    date: 2021-01-04, B1: 188, B2: 0
  }
]

我试着用。来记录,但似乎不起作用。请建议如何实现这一目标


Tags: 函数boardpandasdatadate字典typecount
1条回答
网友
1楼 · 发布于 2024-06-01 19:48:59

你很接近。关键是将groupby的结果转换回数据帧,其中date作为索引B1B2作为列(这是一个系列)。这可以使用^{}完成。然后,您可以通过以下方式使用DataFrame的^{}获得所需内容:

data.groupby(['date', 'board_type'])['count'].sum().unstack(fill_value=0).reset_index().to_dict(orient='records')

输出:

[{'date': '2021-01-02', 'B1': 11, 'B2': 105},
 {'date': '2021-01-03', 'B1': 30, 'B2': 73},
 {'date': '2021-01-04', 'B1': 188, 'B2': 0}]

相关问题 更多 >