Convertir una fila en pandas en lista

Tengo un dataframe de pandas como este:

admit gpa gre rank 0 3.61 380 3 1 3.67 660 3 1 3.19 640 4 0 2.93 520 4 

Ahora quiero obtener una lista de filas en pandas como:

 [[0,3.61,380,3], [1,3.67,660,3], [1,3.19,640,4], [0,2.93,520,4]] 

¿Cómo puedo hacerlo?

Puedes lograr esto usando iterrows :

 temp=[] for row in df.iterrows(): index, data = row temp.append(data.tolist()) 

Alternativamente también puede utilizar apply :

 df.apply(lambda x: x.tolist(), axis=1) 

Actualizar

Después de ver esto nuevamente, hay un método incorporado que también sería el método más rápido, llamando a tolist en la matriz .values np:

 In [62]: df.values.tolist() Out[62]: [[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]] 

Puedes hacerlo así:

 map(list, df.values) 

EDIT: as_matrix está en desuso desde la versión 0.23.0

Puede usar los values to_numpy o el to_numpy (opción recomendada) en el dataframe:

 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]])