Pandas : Comment obtenir l’index de colonne à partir du nom de la colonne



Vous pouvez utiliser les méthodes suivantes pour obtenir la valeur d’index de colonne à partir d’un nom de colonne dans pandas :

Méthode 1 : obtenir l’index de colonne pour un nom de colonne

df.columns.get_loc('this_column')

Méthode 2 : obtenir l’index de colonne pour plusieurs noms de colonnes

cols = ['this_column', 'that_column']

[df.columns.get_loc(c) for c in cols if c in df]

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'store': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'sales': [18, 10, 14, 13, 19, 24, 25, 29],
                   'returns': [1, 2, 2, 3, 2, 3, 5, 4],
                   'recalls': [0, 0, 2, 1, 1, 2, 0, 1]})
#view DataFrame
print(df)

  store  sales  returns  recalls
0     A     18        1        0
1     A     10        2        0
2     A     14        2        2
3     A     13        3        1
4     B     19        2        1
5     B     24        3        2
6     B     25        5        0
7     B     29        4        1

Exemple 1 : obtenir l’index de colonne pour un nom de colonne

Le code suivant montre comment obtenir la valeur d’index de colonne pour la colonne portant le nom « returns » :

#get column index for column with the name 'returns'
df.columns.get_loc('returns')

2

La colonne portant le nom « return » a une valeur d’index de colonne de 2 .

Remarque : les valeurs d’index de colonne commencent à 0 en Python. Ainsi, puisque « return » est la troisième colonne du DataFrame, sa valeur d’index est de 2.

Exemple 2 : obtenir l’index de colonne pour plusieurs noms de colonnes

Le code suivant montre comment obtenir la valeur d’index de colonne pour plusieurs colonnes du DataFrame :

#define list of columns to get index for
cols = ['store', 'returns', 'recalls']

#get column index for each column in list
[df.columns.get_loc(c) for c in cols if c in df]

[0, 2, 3]

À partir du résultat, nous pouvons voir :

  • La colonne portant le nom « store » a une valeur d’index de colonne de 0 .
  • La colonne portant le nom « return » a une valeur d’index de colonne de 2 .
  • La colonne portant le nom « rappels » a une valeur d’index de colonne de 3 .

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas get_loc() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment obtenir la valeur d’une cellule à partir de Pandas DataFrame
Comment renommer l’index dans Pandas DataFrame
Comment trier les colonnes par nom dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *