我有一个DataFrame df_test
,如下所示:
a b c
5 7 1
6 7 0
15 17 1
16 17 0
我正在尝试使用b列作为索引从此数据帧创建字典。请注意,列b
中的值是重复的。当我使用下面给出的代码创建字典时,它仅将最后一行显示为输出。如何创建字典以包含数据框中提供的所有信息。
经过测试的代码
以下是代码:
df_test.set_index('b', inplace=True)
df_test.T.to_dict(orient="list")
输出量
{7: [6, 0], 17: [16, 0]}
所需的输出
输出应包括与每个键对应的所有行,而不仅仅是最后一行。类似于但不限于以下所示的输出:
{7: [[5, 1],[6, 0]], 17: [[15, 1],[16, 0]]}
使用DataFrame.set_index
处理所有列,而不b
在GroupBy.apply
拉姆达功能转换到嵌套列表,然后字典:
d = df_test.set_index('b').groupby('b').apply(lambda x : x.to_numpy().tolist()).to_dict()
print (d)
{7: [[5, 1], [6, 0]], 17: [[15, 1], [16, 0]]}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句