Python

Pandas: Cómo convertir un Dataframe en una lista de listas por filas o columnas

En esta entrada vamos a ver cómo se puede convertir fácilmente el contenido de un DataFrame en una lista, realizando el proceso tanto por filas como por columnas. Un truco con el que se puede cambiar el tipo de dato en función de nuestras necesidades.

Creación de un DataFrame de ejemplo

En primer lugar, es necesario disponer de un DataFrame, a ser posible pequeño para ver mejor los resultados, por lo que vamos a crear una manualmente como ya hemos hecho en otras ocasiones. Para lo que se puede utilizar el siguiente código.

import pandas as pd

users = {'first_name': ['Montgomery', 'Dagmar', 'Reeba', 'Shalom', 'Broddy', 'Aurelia'],
         'last_name': ['Humes', 'Elstow', 'Wattisham', 'Alen', 'Keningham', 'Brechin'],
         'age': [27, 41, 29, 29, 21, 33],
         'gender': ['Male', 'Female', 'Female', 'Male', 'Male', 'Female']}

df = pd.DataFrame(users)
   first_name  last_name  age  gender
0  Montgomery      Humes   27    Male
1      Dagmar     Elstow   41  Female
2       Reeba  Wattisham   29  Female
3      Shalom       Alen   29    Male
4      Broddy  Keningham   21    Male
5     Aurelia    Brechin   33  Female

Convertir un Dataframe en una lista por filas

Obtener una lista de Python a partir de un DataFrames de Pandas requiere realizar un par de pasos. Los DataFrames de Pandas no disponen de un método para obtener una lista con su contenido directamente, pero sí que disponen de un método para generar un array de NumPy. En los cuales existe un método para obtener una lista. Así es posible convertir un Dataframe en una lista por filas solamente con el siguiente código

df.to_numpy().tolist()

En el que simplemente se ha encadenado el método del DataFrame to_numpy(), con el que convierte un DataFrame en un objeto de NumPy, con el método de los array de NumPy tolist(), con el que se convierte un array de NumPy en una lista. Obteniendo el siguiente resultado.

[['Montgomery', 'Humes', 27, 'Male'],
 ['Dagmar', 'Elstow', 41, 'Female'],
 ['Reeba', 'Wattisham', 29, 'Female'],
 ['Shalom', 'Alen', 29, 'Male'],
 ['Broddy', 'Keningham', 21, 'Male'],
 ['Aurelia', 'Brechin', 33, 'Female']]

Convertir un Dataframe en una lista por columnas

Si queremos convertir un DataFrame en una lista por columnas solamente hay que transformar el contenido. Algo que se puede conseguir simplemente aplicando el método transpose() al array de NumPy antes de convertir este en una lista. Así se puede conseguir el objetivo simplemente con la siguiente línea de código

df.to_numpy().transpose().tolist()

Lo que da como resultado una lista de listas por columnas.

[['Montgomery', 'Dagmar', 'Reeba', 'Shalom', 'Broddy', 'Aurelia'],
 ['Humes', 'Elstow', 'Wattisham', 'Alen', 'Keningham', 'Brechin'],
 [27, 41, 29, 29, 21, 33],
 ['Male', 'Female', 'Female', 'Male', 'Male', 'Female']]

Volver a transformar una lista en un DataFrame

Por otro lado, en el caso de convertir una lista en un DataFrame es algo más sencillo, ya que se puede hacer con el propio constructor. Lo que se muestra a continuación.

df_list = df.to_numpy().tolist()
columns_names = df.columns.values

pd.DataFrame(df_list, columns=columns_names)

En donde se guardan los datos en df_list y los nombres de las columnas en columns_names, para posteriormente, volver a crear un DataFrame.

Conclusiones

Hoy hemos visto cómo se puede combinar las funciones de Pandas y NumPy para obtener una lista de listas a partir de un Dataframe. Un proceso que puede ser de utilidad en múltiples ocasiones cuando necesitemos disponer de los datos en otra estructura de datos.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: NumPyPandas

Recent Posts

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

5 horas ago

Lanzamiento de la versión 1.0 del laboratorio de Analytics Lane con nuevas herramientas de scoring

En el octavo aniversario de Analytics Lane seguimos ampliando nuestro laboratorio de aplicaciones interactivas y,…

3 días ago

¡Analytics Lane cumple ocho años!

Hoy, 2 de mayo de 2026, Analytics Lane cumple exactamente ocho años. Todo empezó con…

3 días ago

Analytics Lane lanza una Calculadora de Rentabilidad con Flujos Irregulares basada en TIR (XIRR)

La nueva herramienta permite calcular la rentabilidad real de inversiones con múltiples aportaciones, retiradas y…

4 días ago

Analytics Lane lanza un Conversor CSV ↔ JSON para transformar datos en tiempo real

Analytics Lane continúa ampliando su laboratorio de utilidades para desarrolladores y analistas de datos con…

4 días ago

Analytics Lane lanza un nuevo Formateador y Tester de Expresiones Regulares para desarrolladores

Analytics Lane continúa ampliando su laboratorio de herramientas para desarrolladores con el lanzamiento del Formateador…

5 días ago

This website uses cookies.