Convertir la columna de Pandas Dataframe a una lista

Usama Imtiaz 13 septiembre 2023
  1. Utilice el método tolist() para convertir una columna del DataFrame en una lista
  2. Utilice la función list() para convertir una columna del DataFrame en una lista
  3. Utilice la propiedad .values para convertir una columna del DataFrame en una lista
  4. Usar comprensión de listas para convertir una columna de un DataFrame en una lista
  5. Conclusión
Convertir la columna de Pandas Dataframe a una lista

Cuando trabaje con Pandas DataFrames en Python, es posible que a menudo necesite convertir una columna de su DataFrame en una lista de Python. Este proceso puede ser crucial para varias tareas de manipulación y análisis de datos. Afortunadamente, Pandas proporciona varios métodos para lograr esto, lo que facilita extraer los datos que necesita en forma de lista.

En este artículo, exploraremos diferentes métodos para convertir una columna de un DataFrame de Pandas en una lista de Python. Demostraremos estos métodos utilizando un DataFrame de muestra que contiene información sobre nombres, fechas de nacimiento (DOB) y salarios.

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": ["1000", "12000", "36000", "15000", "12000"],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

Exploraremos cuatro métodos diferentes para realizar esta conversión: usando el método tolist(), la función list(), la propiedad .values y la comprensión de listas. Cada método tiene sus ventajas, así que profundicemos.

Utilice el método tolist() para convertir una columna del DataFrame en una lista

Una columna en el DataFrame de Pandas es una Series de Pandas. Entonces, si necesitamos convertir una columna en una lista, podemos usar el método tolist() de la Series. tolist() convierte la Serie del DataFrame de pandas en una lista.

En el siguiente código, df['DOB'] devuelve la Series, o columna, con el nombre DOB del DataFrame.

El método tolist() convierte la Serie en una lista.

import pandas as pd

df = pd.DataFrame(
    [
        ["James", "1/1/2014", "1000"],
        ["Michelina", "2/1/2014", "12000"],
        ["Marc", "3/1/2014", "36000"],
        ["Bob", "4/1/2014", "15000"],
        ["Halena", "4/1/2014", "12000"],
    ],
    columns=["Name", "DOB", "Salary"],
)

print("Pandas DataFrame:\n\n", df, "\n")

list_of_single_column = df["DOB"].tolist()

print(
    "the list of a single column from the dataframe\n",
    list_of_single_column,
    "\n",
    type(list_of_single_column),
)

Salida:

Pandas DataFrame:

         Name       DOB Salary
0      James  1/1/2014   1000
1  Michelina  2/1/2014  12000
2       Marc  3/1/2014  36000
3        Bob  4/1/2014  15000
4     Halena  4/1/2014  12000 

the list of a single column from the dataframe
 ['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014'] 
 <class 'list'>

Utilice la función list() para convertir una columna del DataFrame en una lista

También podemos utilizar la función list() para convertir una columna de un DataFrame en una lista, pasando el DataFrame a la función list().

Utilizaremos los mismos datos que arriba para demostrar este enfoque.

import pandas as pd

df = pd.DataFrame(
    [
        ["James", "1/1/2014", "1000"],
        ["Michelina", "2/1/2014", "12000"],
        ["Marc", "3/1/2014", "36000"],
        ["Bob", "4/1/2014", "15000"],
        ["Halena", "4/1/2014", "12000"],
    ],
    columns=["Name", "DOB", "Salary"],
)

print("Pandas DataFrame:\n\n", df, "\n")

list_of_single_column = list(df["DOB"])

print(
    "the list of a single column from the dataframe\n",
    list_of_single_column,
    "\n",
    type(list_of_single_column),
)

Salida:

Pandas DataFrame:

         Name       DOB Salary
0      James  1/1/2014   1000
1  Michelina  2/1/2014  12000
2       Marc  3/1/2014  36000
3        Bob  4/1/2014  15000
4     Halena  4/1/2014  12000 

the list of a single column from the dataframe
 ['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014'] 
 <class 'list'>

Utilice la propiedad .values para convertir una columna del DataFrame en una lista

Otra forma de lograr esto es utilizando la propiedad .values.

Veamos los pasos para convertir la columna ‘Salary’ de este DataFrame en una lista de Python utilizando la propiedad .values.

La propiedad .values de una Serie de Pandas devuelve una representación de matriz NumPy de los datos. Para convertirlo en una lista de Python, puede utilizar el método .tolist(). Así es como lo haces:

salary_list = df["Salary"].values.tolist()

Aquí está el código completo:

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": ["1000", "12000", "36000", "15000", "12000"],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

# Convert the 'Salary' column to a list using .values
salary_list = df["Salary"].values.tolist()

print(salary_list)

Salida:

["1000", "12000", "36000", "15000", "12000"]

Después de ejecutar este código, la columna Salary del DataFrame se convertirá en una lista de Python, que se almacena en la variable salary_list.

Usar comprensión de listas para convertir una columna de un DataFrame en una lista

La comprensión de listas es una forma concisa y eficiente de crear listas en Python. Para convertir una columna de un DataFrame de Pandas en una lista de Python utilizando la comprensión de listas, puede seguir el siguiente código.

# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]

Aquí está el código completo:

import pandas as pd

data = {
    "Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
    "DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
    "Salary": [1000, 12000, 36000, 15000, 12000],
}

df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])

# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]

print(salary_list)

Salida:

[1000, 12000, 36000, 15000, 12000]

Conclusión

En este artículo, exploramos cuatro métodos diferentes para convertir una columna de un DataFrame de Pandas en una lista de Python: utilizando el método tolist(), la función list(), la propiedad .values y la comprensión de listas. Cada método tiene sus ventajas y se puede elegir en función de su caso de uso específico y estilo de codificación.

Ya sea que prefiera la simplicidad del método tolist(), el enfoque estándar pythonico de la función list(), la eficiencia de la propiedad .values o la legibilidad de la comprensión de listas, Pandas ofrece múltiples opciones para ayudarlo a convertir sin problemas las columnas de su DataFrame en listas de Python.

Artículo relacionado - Pandas DataFrame Column

Artículo relacionado - Pandas DataFrame