为了账号安全,请及时绑定邮箱和手机立即绑定

如何将多索引数据框、按多列分组的数据框转换为嵌套的 json

如何将多索引数据框、按多列分组的数据框转换为嵌套的 json

吃鸡游戏 2023-06-20 13:46:17
我的 Pandas 系列是通过对具有“var”和“month”列的 DataFrame 应用 groupby 操作并对相应数据应用 sum 得到的,如下所示(“var”和“month”是下面的索引):    var  monthX   Feb     -0.061575    Jan      1.366478Y   Feb     -1.310896Z   Apr      0.053076    Feb      1.292415    Mar      0.375144P   Feb      1.241288    Mar      0.613453我想要从上面的 DataFrame 创建的 JSON 格式,如下所示:'data':[{'label': 'X', 'data': ['Jan': 1.366478, 'Feb': -0.061575]}, ... ]我知道基本的 pandas.to_json()在这里可能不起作用。可能列表理解、lambda 函数等的组合可以在这里工作?我能想到的最接近的是:dict = {k: df[k].to_dict() for k in df.index.levels[0]}这种产生{'X': {'Feb': -0.06157474257929787, 'Jan': 1.366478487212244},'Y': ...}任何帮助表示赞赏。
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

对我来说,我找到的解决方案是在一段代码下面(假设 group_data 保存已经按 DataFrame 上的数据分组的数据)。


group_dict = {k: group_data[k].to_dict() for k in group_data.index.levels[0]}

group_list = []

for k, v in group_dict.items():

    dict = {'label': k, 'data': v}

    group_list.append(dict)


查看完整回答
反对 回复 2023-06-20
?
BIG阳

TA贡献1859条经验 获得超6个赞

'data':[{'label': 'X', 'data': ['Jan': 1.366478, 'Feb': -0.061575]}, ... ]

这是一个无效的 json。内部列表没有意义


查看完整回答
反对 回复 2023-06-20
  • 2 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信