API · Pandas
Fonction Pandas Series.tolist()
La méthode Series.tolist() renvoie les valeurs de la Series dans une liste Python.
Sur cette page
Series.tolist() renvoie les valeurs d’une Series pandas dans une liste Python. Appelez-la sans argument : series.tolist(). Cette méthode est utile pour transmettre les valeurs à du code qui attend une liste classique ou pour les examiner sans le format d’affichage d’une Series.
Convertir une Series en liste
Appelez la méthode sur l’objet Series et conservez la valeur renvoyée. L’appel ne modifie pas la Series d’origine :
values = series.tolist()
La méthode ne prend aucun paramètre. Elle renvoie une list Python contenant les valeurs de la Series dans leur ordre actuel. La liste renvoyée est un conteneur distinct : la modifier ne modifie donc pas la Series. Les valeurs elles-mêmes conservent leur comportement Python habituel ; pour les objets mutables, les deux conteneurs peuvent toutefois faire référence aux mêmes objets.
Comprendre la liste renvoyée
Une Series possède davantage de structure qu’une liste. Ses étiquettes d’index et son dtype décrivent la Series, tandis que tolist() renvoie uniquement les valeurs. Les étiquettes d’index ne deviennent pas des éléments de la liste, et une liste Python n’a pas de dtype pandas. Utilisez une opération distincte si vous avez aussi besoin des étiquettes, ou conservez la Series si le code en aval dépend de son index ou de fonctionnalités propres à pandas.
La longueur de la liste correspond au nombre de valeurs de la Series, y compris celles qui représentent des données manquantes. Les valeurs apparaissent dans l’ordre de la Series. Pandas peut choisir un dtype lors de la création de la Series ; des valeurs numériques peuvent donc avoir déjà été converties avant l’appel. tolist() reflète les valeurs présentes dans cette Series, sans rétablir les types des données d’entrée d’origine.
Convertir des Series numériques et textuelles
Exécutez cet exemple :
Le code et les libellés ou sorties affichés dans cette section restent en anglais.
import pandas as pd
scores = pd.Series([88, 91, 76], index=["Mia", "Noah", "Ava"])
names = pd.Series(["Rose", "Jasmine", "Tulip"])
score_list = scores.tolist()
name_list = names.tolist()
print(score_list)
print(name_list)
print(isinstance(score_list, list))
print(score_list == [88, 91, 76])
[88, 91, 76]
['Rose', 'Jasmine', 'Tulip']
True
True
Les deux appels utilisent la même méthode sans argument. La Series numérique comporte des étiquettes, mais la liste renvoyée ne contient que ses valeurs. La Series de chaînes produit une liste de chaînes dans leur ordre d’origine.
Vérifier le résultat en Python
Utilisez isinstance(result, list) si le code qui suit exige une liste, et comparez result aux valeurs attendues pour en vérifier le contenu. L’exemple effectue ces deux contrôles : la vérification du type confirme le conteneur, tandis que la comparaison confirme les valeurs numériques et leur ordre. Vous pouvez appliquer les mêmes contrôles à name_list, par exemple en la comparant à ['Rose', 'Jasmine', 'Tulip'].
Si le résultat diffère de ce que vous attendiez, examinez la Series avant la conversion avec print(series) et vérifiez son index et son dtype. Vous pourrez ainsi distinguer les valeurs déjà modifiées lors de la création de la Series de celles qui auraient changé pendant la conversion. Pour une conversion rapide, l’appel essentiel reste Series.tolist() ; affectez son résultat à une variable si vous devez le vérifier ou le transmettre à une autre fonction.