我想将 pandas 数据框转换为列表。 例如,我有一个如下所示的数据框,我想制作包含所有列的列表。
数据框(df)
A B C
0 4 8
1 5 9
2 6 10
3 7 11
预期结果
[[0,1,2,3], [4,5,6,7], [8,9,10,11]]
如果我使用 df.values.tolist(),它将以基于行的顺序列表返回,如下所示。
[[0,4,8], [1,5,9], [2,6,10], [3,7,11]]
可以转置数据框,但我想知道是否有更好的解决方案。
最佳答案
我认为最简单的是转置。
df1 = df.T.values.tolist()
print (df1)
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
或者:
df1 = df.values.transpose().tolist()
print (df1)
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
另一个带有列表理解的答案,谢谢John Galt :
L = [df[x].tolist() for x in df.columns]
关于python - 将 pandas 数据框转换为基于列的订单列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44623578/