Convertir lista a Pandas DataFrame en Python

Ankur Baral 30 enero 2023
  1. Convertir lista en un DataFrame de Pandas en Python
  2. Almacene la lista en una columna en Pandas DataFrame en Python
  3. Convertir una lista en un DataFrame con índice en Python
  4. Comprima dos listas en un solo DataFrame usando zip() en Python
  5. Convierta una lista multidimensional en un DataFrame de Pandas en Python
Convertir lista a Pandas DataFrame en Python

Este artículo presentará métodos para convertir elementos en una lista a un Pandas DataFrame.

Convertir lista en un DataFrame de Pandas en Python

El DataFrame, generalmente, es una estructura de datos etiquetada bidimensional. Pandas es un paquete de Python de código abierto que es muy útil para la ciencia de datos.

Aquí, primero importaremos el paquete pandas. Definiremos el paquete pandas como pd en este programa en particular. Luego crearemos una lista my_list para almacenar los valores de la lista, Tom, Mark y Tony, que no son más que nombres aleatorios. Luego asignaremos pd.DataFrame(my_list) a una variable df. El método DataFrame(my_list) toma los valores de my_list y crea un DataFrame con él. En la última línea de nuestro programa, llamamos al DataFrame impreso que almacenamos en la variable df. Tenga en cuenta que también podríamos haber escrito df en lugar de print(df) para ver nuestro DataFrame.

Código de ejemplo:

# python 3.x
import pandas as pd

my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list)
print(df)

Producción :

    0
0   Tom
1   Mark
2   Tony

Podemos ver que los elementos que proporcionamos en la lista ahora están en una columna en el resultado anterior.

Almacene la lista en una columna en Pandas DataFrame en Python

Podemos convertir una lista al DataFrame de pandas creando una columna en el DataFrame y almacenando los datos convertidos en la columna.

Para convertir una lista a los datos de una columna de Pandas DataFrame, crearemos una lista my_list y le daremos algunos nombres aleatorios como valores a la lista. Nuestro objetivo es asegurarnos de que los elementos de la lista se conviertan en entradas de una columna titulada Nombres. Para eso, pasaremos la variable my_list a pd.DataFrame() con columns = ['Names'] como se muestra a continuación. Luego imprimimos la variable df y ejecutamos nuestro código para ver la salida.

Código de ejemplo:

# python 3.x
import pandas as pd

my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, columns=["Names"])
print(df)

Producción :

    Names
0   Tom
1   Mark
2   Tony

Después de poner un atributo adicional columns = ['Names'], vemos que los nombres en my_list fueron como los valores de la columna Nombres en el DataFrame.

Convertir una lista en un DataFrame con índice en Python

También podemos indexar los elementos de la lista mientras los convertimos en un DataFrame.

Crearemos una lista my_list. Nuestro objetivo es asegurarnos de que los elementos de la lista se conviertan en entradas de columna tituladas Nombres con índices predefinidos por filas. Para ello, crearemos una lista index y la rellenaremos con i, ii y iii. Podemos usar la lista como segundo parámetro en pd.DataFrame(). El primer y tercer parámetro son my_list y columns =['Names']. Luego imprimiremos la variable df donde se almacena la expresión que escribimos.

Código de ejemplo:

# python 3.x
import pandas as pd

my_list = [" Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, index=["i.", "ii.", "iii."], columns=["Names"])
print(df)

Producción :

     Names
i.    Tom
ii.   Mark
iii.  Tony

Podemos ver que los valores dentro de la lista index han reemplazado a los índices de pandas predeterminados. Podemos poner cualquier valor dentro del index y producir resultados en consecuencia.

Comprima dos listas en un solo DataFrame usando zip() en Python

La función zip() combina los valores de dos listas diferentes en una agrupando los valores de las listas con el mismo índice. Antes de crear un DataFrame, veamos primero cómo funciona zip().

Código de ejemplo:

# python 3.x
a = ["1", "2", "3"]
b = ["4", "5", "6"]
c = zip(a, b)
list1 = list(c)
print(list1)

Producción :

[('1', '4'), ('2', '5'), ('3', '6')]

Podemos ver que la función zip() nos ayudó a combinar las listas a y b con elementos indexados similares agrupados. Almacenamos el estado comprimido de las listas a y b en c y luego creamos lista1, almacenando la lista comprimida c en ella. Usaremos el zip() para crear un DataFrame de pandas en el siguiente ejemplo.

Crearemos dos listas diferentes, name_list y height_list, y almacenaremos algunos nombres y alturas, respectivamente. Luego comprimimos name_list y height_list con zip(name_list, height_list) para crear un DataFrame de pandas.

Tenga en cuenta que también podemos indexar nuestros datos simplemente poniendo otro atributo index = [ 'index1', 'index2', 'index3' ] donde los elementos dentro de la lista de índice pueden ser cualquier cosa.

Código de ejemplo:

# python 3.x
import pandas as pd

name_list = ["Tom", "Mark", "Tony"]
height_list = ["150", "151", "152"]
df = pd.DataFrame((zip(name_list, height_list)), columns=["Name", "Height"])
print(df)

Producción :

    Name    Height
0   Tom     150
1   Mark    151
2   Tony    152

Podemos ver que el DataFrame formado consta de valores de name_list y height_list en el orden correcto.

También podemos utilizar esta técnica para comprimir más de dos listas.

Convierta una lista multidimensional en un DataFrame de Pandas en Python

Incluso podemos convertir la lista multidimensional en un DataFrame de pandas. Podemos establecer los nombres de las columnas para los elementos de la lista en la lista multidimensional. Demostraremos este método con una lista bidimensional.

Para convertir una lista multidimensional en un DataFrame de pandas, primero debemos crear una lista con varias listas dentro. Así que primero importaremos pandas y luego crearemos una lista info donde almacenaremos el nombre y la edad de tres individuos diferentes en tres listas separadas. Luego llamaremos pd.DataFrame() y procesaremos la lista en él y especificaremos dos títulos de columna, Name y Edad para nuestros datos.

Código de ejemplo:

# python 3.x
import pandas as pd

info = [["Tom", 18], ["Mark", 25], ["Tony", 68]]
df = pd.DataFrame(info, columns=["Name", "Age"])
print(df)

Producción :

    Name    Age
0   Tom     18
1   Mark    25
2   Tony    68

Tenemos dos columnas como salida con los nombres y sus edades en los respectivos órdenes. Podemos agregar otros valores a las listas individuales dentro de info y darles títulos de columna para obtener más columnas en nuestro DataFrame.

Artículo relacionado - Python List