将(MultiIndex)数据帧转换为字典列表

3

我有一个多层级的数据框:

                       C
 A         B
25        58        16.0
          59       135.0
          60        36.0

我希望你能将其转换为字典/对象列表:
[
     {A: 25, B: 58, C: 16},
     {A: 25, B: 59, C: 135},
     {A: 25, B: 60, C: 36}
]

我能够通过使用df.reset_index重置索引:

           A        B      C
0         25       58   16.0
1         25       59  135.0
2         25       60   36.0

使用 df.to_dict('index') 可以得到以下结果:

[
     {0: {A: 25, B: 58, C: 16}},
     {1: {A: 25, B: 59, C: 135}},
     {2: {A: 25, B: 60, C: 36}}
]

这个方法很接近,但是我不想在结果字典中包括索引。

有没有一种简单的方法可以实现这一点?

1个回答

7

使用 to_dict 方法并选择参数 records

df.reset_index().to_dict('records')

[{'A': 25.0, 'B': 58.0, 'C': 16.0},
 {'A': 25.0, 'B': 59.0, 'C': 135.0},
 {'A': 25.0, 'B': 60.0, 'C': 36.0}]

哈。我曾经尝试过从文档中使用list,但出于某种原因从未看到过records。现在问题已经解决了。 - Timmy O'Mahony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接