Convertir la colonne Pandas DataFrame en liste

Usama Imtiaz 13 septembre 2023
  1. Utilisez la méthode tolist() pour convertir une colonne de DataFrame en une liste
  2. Utilisez la fonction list() pour convertir une colonne de DataFrame en une liste
  3. Utilisez la propriété .values pour convertir une colonne de DataFrame en une liste
  4. Utiliser la compréhension de liste pour convertir une colonne DataFrame en une liste
  5. Conclusion
Convertir la colonne Pandas DataFrame en liste

Lorsque vous travaillez avec des DataFrames Pandas en Python, vous pourriez souvent avoir besoin de convertir une colonne de votre DataFrame en une liste Python. Ce processus peut être crucial pour diverses manipulations et analyses de données. Heureusement, Pandas offre plusieurs méthodes pour y parvenir, ce qui facilite l’extraction des données dont vous avez besoin sous forme de liste.

Dans cet article, nous explorerons différentes méthodes pour convertir une colonne de DataFrame Pandas en une liste Python. Nous illustrerons ces méthodes à l’aide d’un DataFrame d’exemple contenant des informations sur les noms, les dates de naissance (DOB) et les salaires.

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

Nous explorerons quatre méthodes différentes pour effectuer cette conversion : utiliser la méthode tolist(), la fonction list(), la propriété .values et la compréhension de liste. Chaque méthode a ses avantages, alors plongeons-y.

Utilisez la méthode tolist() pour convertir une colonne de DataFrame en une liste

Une colonne dans le DataFrame Pandas est une Series Pandas. Donc, si nous devons convertir une colonne en une liste, nous pouvons utiliser la méthode tolist() dans la Series. tolist() convertit la Series du DataFrame Pandas en une liste.

Dans le code ci-dessous, df['DOB'] renvoie la Series, ou la colonne, avec le nom DOB du DataFrame.

La méthode tolist() convertit la Series en une liste.

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

Sortie:

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

Utilisez la fonction list() pour convertir une colonne de DataFrame en une liste

Nous pouvons également utiliser la fonction list() pour convertir une colonne de DataFrame en une liste, en passant le DataFrame à la fonction list().

Nous utiliserons les mêmes données que ci-dessus pour illustrer cette approche.

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

Sortie:

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

Utilisez la propriété .values pour convertir une colonne de DataFrame en une liste

Une autre façon d’y parvenir est d’utiliser la propriété .values.

Parcourons les étapes de conversion de la colonne ‘Salary’ de ce DataFrame en une liste Python en utilisant la propriété .values.

La propriété .values d’une série Pandas renvoie une représentation de tableau NumPy des données. Pour la convertir en une liste Python, vous pouvez utiliser la méthode .tolist(). Voici comment vous le faites :

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

Voici le code complet :

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)

Sortie :

['1000', '12000', '36000', '15000', '12000']

Après avoir exécuté ce code, la colonne Salary du DataFrame sera convertie en une liste Python, qui est stockée dans la variable salary_list.

Utiliser la compréhension de liste pour convertir une colonne DataFrame en une liste

La compréhension de liste est un moyen concis et efficace de créer des listes en Python. Pour convertir une colonne d’un DataFrame Pandas en une liste Python en utilisant la compréhension de liste, vous pouvez suivre le code ci-dessous.

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

Voici le code complet :

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)

Sortie :

[1000, 12000, 36000, 15000, 12000]

Conclusion

Dans cet article, nous avons exploré quatre méthodes différentes pour convertir une colonne d’un DataFrame Pandas en une liste Python : l’utilisation de la méthode tolist(), de la fonction list(), de la propriété .values et la compréhension de liste. Chaque méthode a ses avantages et peut être choisie en fonction de votre cas d’utilisation spécifique et de votre style de codage.

Que vous préfériez la simplicité de la méthode tolist(), l’approche Python classique de la fonction list(), l’efficacité de la propriété .values ou la lisibilité de la compréhension de liste, Pandas offre plusieurs options pour vous aider à convertir facilement les colonnes de votre DataFrame en listes Python.

Article connexe - Pandas DataFrame Column

Article connexe - Pandas DataFrame