我有一个数据框,如下所示:
A B C
1 6 1
2 5 7
3 4 9
4 2 2
我想要这样的字典:
{A: [1,2,3,4], B:[6,5,4,2], C:[1,7,9,2]}
我曾尝试使用普通的df.to_dict()
,但没有找到它。如果我使用转置的数据帧,那么df.T.to_dict()
会很近,但是我有类似的东西:
{0: {A: 1, B: 6, C:1} , ... , 4:{A: 4, B: 2, C: 2 } }
堆栈溢出中的问题仅限于每个键具有一个值的字典,而不是数组。
使用to_dict()
并避免任何for循环对我来说非常有价值,因为我使用的数据库很大,并且我希望计算复杂度尽可能低。
答案 0 :(得分:2)
orient='list'
df.to_dict(orient='list')
或者:该方法实际上只是检查第一个字符
df.to_dict('l')
如果要保留numpy数组
{k: v.to_numpy() for k, v in df.items()}