HOWTO · Pandas
Convertir la colonne Pandas DataFrame en liste
Cet article présente comment convertir la colonne Pandas DataFrame en une liste.
Sur cette page
Lorsque vous travaillez avec des DataFrames Pandas en Python, vous pouvez souvent avoir besoin de convertir une colonne de votre DataFrame en une liste Python. Ce processus peut être crucial pour diverses tâches de manipulation et d’analyse de données. Heureusement, Pandas fournit 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 allons explorer différentes méthodes pour convertir une colonne d’un DataFrame Pandas en une liste Python. Nous allons démontrer ces méthodes en utilisant un exemple de DataFrame qui contient 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 allons explorer quatre méthodes différentes pour effectuer cette conversion : en utilisant la méthode tolist(), la fonction list(), la propriété .values et la compréhension de liste.
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'] retourne la Series, ou la colonne, portant le nom DOB du DataFrame.
La méthode tolist() convertit la Series en une liste.
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"])
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 d’un DataFrame en une liste. Notez ce que list() reçoit : la colonne sélectionnée, qui est une Series — comme dans list(df["DOB"]) — et non le DataFrame lui-même. Itérer sur une Series produit ses valeurs dans l’ordre, donc list() collecte exactement les valeurs de la colonne.
Nous utiliserons les mêmes données que ci-dessus pour démontrer cette approche.
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"])
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.
Passons en revue les étapes de la conversion de la colonne ‘Salary’ de ce DataFrame en une liste Python en utilisant la propriété .values.
La propriété .values d’une Series Pandas renvoie une représentation des données sous forme de tableau NumPy. Pour la convertir en une liste Python, vous pouvez utiliser la méthode .tolist(). Voici comment procéder :
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 l’exécution de 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 peut également créer la liste en itérant sur la colonne sélectionnée. À elle seule, elle copie les valeurs une à une, exactement comme list() ; la forme en compréhension mérite sa place lorsque vous souhaitez également transformer ou filtrer chaque valeur pendant la construction de la liste.
# 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 : en utilisant la méthode tolist(), la fonction list(), la propriété .values et la compréhension de liste.
Pour le cas courant — vous avez une colonne et vous voulez ses valeurs sous forme de liste — convertir directement la Series sélectionnée avec tolist() ou list() est le choix le plus simple. La voie .values aboutit à la même liste en passant par un tableau NumPy intermédiaire, et la compréhension de liste est l’option à choisir lorsque vous voulez transformer ou filtrer les valeurs pendant la construction de la liste.