• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • Excel

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

abril 26, 2021 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

pandas

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.

Publicidad


[['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.

Publicidad


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?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 2.3 / 5. Votos emitidos: 6

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • balance
    Diferencia entre listas y tuplas en Python
  • pandas
    Pandas: Cómo crear un DataFrame vacío y agregar datos
  • pandas
    Pandas: Convertir una columna en el índice
  • memory
    Medir y reducir el consumo de memoria en Python
  • pandas
    Pandas: Descartar filas en un DataFrame
  • pandas
    Pandas: Convertir el índice en una columna en un DataFrame

Publicado en: Python Etiquetado como: NumPy, Pandas

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Publicidad





Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

Tutorial básico de Traceroute

diciembre 8, 2023 Por Daniel Rodríguez

Usar el depurador de Visual Studio Code con Jest

diciembre 6, 2023 Por Daniel Rodríguez

Análisis de datos con GPT en Pandas

diciembre 4, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Unir y combinar dataframes con pandas en Python publicado el septiembre 10, 2018 | en Python
  • ¿Cómo eliminar columnas y filas en un dataframe pandas? publicado el marzo 25, 2019 | en Python
  • Agregar líneas a las figuras de Matplotlib publicado el septiembre 1, 2022 | en Python
  • Seleccionar filas y columnas en Pandas con iloc y loc publicado el junio 21, 2019 | en Python
  • pandas Pandas: Leer archivos CSV con diferentes delimitadores en Pandas. publicado el noviembre 30, 2020 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.4 (13)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Anto en Rendimiento al iterar en JavaScript sobre un vector
  • Daniel Rodríguez en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Guillermo en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?

Publicidad

Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto