假设你有一个像这样的pandas DataFrame:
A1a A1b A2a A2b … B1a …
0.25 0.75 0.10 0.5 1
… … … … …
并且您想要输出JSON的对象列表(每行一个对象),如下所示:
[
{
A: {
1: {
a: 0.25,
b: 0.75
},
2: {
a: 0.1,
b: 0.5,
...
},
...
},
B: {
1: {
a: 1
},
...
},
...
},
...
]
最好的方法是什么?
这里显然有很多pandas /嵌套JSON问题,但我认为这是不同的,因为我试图在同一行中嵌套特定列,而不是对列中具有相同值的行进行分组(如在this example)。
答案 0 :(得分:2)
由于您链接了该页面,我将从该链接中接受的答案中借用recur_dictify
函数
#make your df columns become multiple index
df.columns=pd.MultiIndex.from_tuples(df.columns.map(list).map(tuple))
A
1 2
a b a b
0 0.25 0.75 0.1 0.5
#Then we apply the function
recur_dictify(df.T.reset_index())
{'A': {'1': {'a': 0.25, 'b': 0.75}, '2': {'a': 0.1, 'b': 0.5}}}