繁体   English   中英

如何按列而不是按行将我的 dataframe 变成 numpy 数组?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM