web-dev-qa-db-fra.com

Sélectionnez plusieurs plages de colonnes dans Pandas DataFrame

Je dois lire plusieurs fichiers, certains au format Excel et d'autres au format CSV. Certains fichiers contiennent des centaines de colonnes.

Existe-t-il un moyen de sélectionner plusieurs plages de colonnes sans spécifier tous les noms ou positions des colonnes? Par exemple, quelque chose comme la sélection des colonnes 1 à 10, 15, 17 et 50 à 100:

df = df.ix[1:10, 15, 17, 50:100]

J'ai besoin de savoir comment procéder à la fois lors de la création de trames de données à partir de fichiers Excel et CSV et après la création des encadreurs de données.

25
Alex

utilisation np.r_

np.r_[1:10, 15, 17, 50:100]

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 15, 17, 50, 51, 52, 53, 54, 55,
       56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
       73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
       90, 91, 92, 93, 94, 95, 96, 97, 98, 99])

pour que vous puissiez faire

df.iloc[:, np.r_[1:10, 15, 17, 50:100]]
41
piRSquared