我有一个这样的熊猫数据框架:
admit gpa gre rank 0 3.61 380 3 1 3.67 660 3 1 3.19 640 4 0 2.93 520 4
现在我想得到一个熊猫行的列表,比如:
[[0,3.61,380,3], [1,3.67,660,3], [1,3.19,640,4], [0,2.93,520,4]]
我该怎么做?
有一个内置的方法也是最快的方法,在 .values np 数组上调用 tolist:
.values
tolist
df.values.tolist() [[0.0, 3.61, 380.0, 3.0], [1.0, 3.67, 660.0, 3.0], [1.0, 3.19, 640.0, 4.0], [0.0, 2.93, 520.0, 4.0]]
你可以这样做:
map(list, df.values)
编辑: as_matrix自0.23.0版本以来已不再推荐使用
as_matrix
你可以在数据帧上使用内置的 values或 to_numpy(推荐选项)方法:
values
to_numpy
In [8]: df.to_numpy() Out[8]: array([[ 0.9, 7. , 5.2, ..., 13.3, 13.5, 8.9], [ 0.9, 7. , 5.2, ..., 13.3, 13.5, 8.9], [ 0.8, 6.1, 5.4, ..., 15.9, 14.4, 8.6], ..., [ 0.2, 1.3, 2.3, ..., 16.1, 16.1, 10.8], [ 0.2, 1.3, 2.4, ..., 16.5, 15.9, 11.4], [ 0.2, 1.3, 2.4, ..., 16.5, 15.9, 11.4]])
如果您显式需要列表而不是数字数组,请添加 .tolist():
.tolist()
df.to_numpy().tolist()