[英]How can I make my dataframe into a numpy array by column rather than by row?
考虑到我有这个例子 dataframe:
d = {'Gender': [1,1,0,1,0], 'Employed': [1,0,0,1,1]}
我希望这是一个这种形式的数组:
[[1 1 0 1 0][1 0 0 1 1]]
当我跑
d[['Gender', 'Employed']].to_numpy()
我得到一个 [[1 1][1 0][0 0][1 1][0 1]] 形式的数组
您可以转置 DataFrame,使用values
方法获取底层 numpy 数组并使用tolist
方法转换为列表:
out = pd.DataFrame(d).T.values.tolist()
Output:
[[1, 1, 0, 1, 0],
[1, 0, 0, 1, 1]]
这可以得到你预期的 output
import pandas as pd
df = pd.DataFrame({'Gender': [1,1,0,1,0], 'Employed': [1,0,0,1,1]})
print([df[column].to_list() for column in df])
Output:
[[1, 1, 0, 1, 0], [1, 0, 0, 1, 1]]
如果您对这里有更多期望,请告诉我。
转一下就行了。
d[['Gender', 'Employed']].values.T
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.