Maison >développement back-end >Tutoriel Python >Comment sélectionner plusieurs colonnes dans un DataFrame Pandas ?

Comment sélectionner plusieurs colonnes dans un DataFrame Pandas ?

DDD
DDDoriginal
2024-12-16 18:01:211031parcourir

How Do I Select Multiple Columns from a Pandas DataFrame?

Sélection de plusieurs colonnes dans un DataFrame Pandas

Lorsque vous travaillez avec des dataframes, il est souvent nécessaire de sélectionner des colonnes spécifiques. Dans Pandas, il existe plusieurs façons d'y parvenir.

Une idée fausse courante consiste à tenter d'utiliser le découpage pour sélectionner des colonnes :

df1 = df['a':'b']

Cette approche ne fonctionnera pas car les noms de colonnes ne peuvent pas être découpés directement. . Au lieu de cela, il existe deux options viables :

1. Récupération sélective de colonnes par nom :

Cette méthode consiste à transmettre une liste de noms de colonnes à l'opérateur [] :

import pandas as pd

df = pd.DataFrame({
    'a': [2, 3],
    'b': [3, 4],
    'c': [4, 5],
})

df1 = df[['a', 'b']]

2. Indexation par position de colonne :

Si les positions des colonnes sont connues à l'avance, vous pouvez utiliser iloc pour sélectionner les colonnes par index :

df1 = df.iloc[:, 0:2]  # Remember that slicing is exclusive of the ending index

Conseils supplémentaires :

  • Pour obtenir les indices de colonnes à l'aide de get_loc function :
{df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
  • Pour vous assurer que les colonnes sélectionnées sont une copie au lieu d'une vue, utilisez la méthode copy() :
df1 = df.iloc[:, 0:2].copy()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn