Ответ 1
Существует встроенный метод, который также будет самым быстрым, вызывая tolist
для массива .values
np:
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]]
У меня есть кадр данных панд, как это:
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]]
Как мне это сделать?
Существует встроенный метод, который также будет самым быстрым, вызывая tolist
для массива .values
np:
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
Вы можете использовать встроенные 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()
:
df.to_numpy().tolist()