【发布时间】:2022-01-16 21:23:05
【问题描述】:
考虑到我有这个示例数据框:
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]] 形式的数组。
【问题讨论】:
考虑到我有这个示例数据框:
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()
输出:
[[1, 1, 0, 1, 0],
[1, 0, 0, 1, 1]]
【讨论】:
只需转置即可。
d[['Gender', 'Employed']].values.T
【讨论】:
这可以得到你预期的输出
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])
输出:
[[1, 1, 0, 1, 0], [1, 0, 0, 1, 1]]
如果您对这里有更多期望,请告诉我。
【讨论】: