【发布时间】:2014-08-13 23:22:04
【问题描述】:
我经常使用 pandas groupby 来生成堆叠表格。但后来我经常想将生成的嵌套关系输出到 json。有没有办法从它产生的堆叠表中提取嵌套的 json 文件?
假设我有一个像这样的df:
year office candidate amount
2010 mayor joe smith 100.00
2010 mayor jay gould 12.00
2010 govnr pati mara 500.00
2010 govnr jess rapp 50.00
2010 govnr jess rapp 30.00
我能做到:
grouped = df.groupby('year', 'office', 'candidate').sum()
print grouped
amount
year office candidate
2010 mayor joe smith 100
jay gould 12
govnr pati mara 500
jess rapp 80
漂亮!当然,我真正想做的是通过沿 grouped.to_json 行的命令获取嵌套的 json。但该功能不可用。任何解决方法?
所以,我真正想要的是:
{"2010": {"mayor": [
{"joe smith": 100},
{"jay gould": 12}
]
},
{"govnr": [
{"pati mara":500},
{"jess rapp": 80}
]
}
}
不要
【问题讨论】:
-
上面的代码实际上并不能工作,因为金额列(例如'$30')是字符串,所以添加为字符串而不是数字。另外,不清楚你想要什么 json 输出,为什么 to_json 为你工作?
-
@AndyHayden 好点。我已经编辑修复/澄清。
-
@Don 有什么解决办法吗?
-
@skycrew 请参阅下面 chrisb 的回答。