Comment sélectionner dans une dataframe les colonnes commençant par *** avec pandas en python ?

Comment sélectionner dans une dataframe les colonnes commençant par *** avec pandas en python ?

Daidalos 11 mai 2020


Exemple de comment sélectionner dans une dataframe les colonnes commençant par *** avec pandas en python

1 -- Créer une simple dataframe

Créons une simple dataframe avec 8 colonnes:

import pandas as pd
import numpy as np

data = np.arange(1,33)
data = data.reshape(4,8)

df = pd.DataFrame(data=data,columns=['name','add_01','add_02','add_03',
                                 'counrty','streed','zip code','county'])

print(df)

donne

   name  add_01  add_02  add_03  counrty  streed  zip code  county
0     1       2       3       4        5       6         7       8
1     9      10      11      12       13      14        15      16
2    17      18      19      20       21      22        23      24
3    25      26      27      28       29      30        31      32

2 -- Sélectionner les colonnes commençant par add (option 1)

Pour sélectionner les colonnes commençant par le mot "add" dans la dataframe précédente on peut tout simplement créer une liste des colonnes qui commence par 'add' (Note: pour obtenir une liste des noms de colonnes il suffit d'utiliser df.columns):

   list = [col for col in df.columns if col.startswith('add')]

puis faire comme ceci:

   df[list]

ce qui donne:

   add_01  add_02  add_03
0       2       3       4
1      10      11      12
2      18      19      20
3      26      27      28

3 -- Sélectionner les colonnes commençant par "add" (option 2)

Autre option pour sélectionner les colonnes commençant par "add", en utilisant une serie:

   df[df.columns[pd.Series(df.columns).str.startswith('add')]]

donne

   add_01  add_02  add_03
0       2       3       4
1      10      11      12
2      18      19      20
3      26      27      28

4 -- Références