Sélection de colonnes dans les dataframes Pandas : un guide de dépannage
Lorsque vous travaillez avec des dataframes Pandas, la sélection de colonnes spécifiques est une tâche fondamentale. Cependant, les tentatives pour y parvenir en utilisant une syntaxe telle que df['a':'b'] ou df.ix[:, 'a':'b'] peuvent rencontrer des obstacles en raison de l'incapacité de découper les noms de colonnes sous forme de chaînes.
Option 1 : Sélection explicite de colonnes
Pour sélectionner des colonnes spécifiques par nom, la solution consiste à transmettre une liste de noms de colonnes au Syntaxe __getitem__ :
df1 = df[['a', 'b']]
Cette approche crée une vue uniquement des colonnes souhaitées.
Option 2 : sélection de colonnes numériques
Si vous indexez des colonnes numériquement est préférable, la fonction iloc peut être utilisée :
df1 = df.iloc[:, 0:2]
Notez que l'indexation Python exclut le index de fin.
Copie vs. Vue
Il est important de comprendre la différence entre une vue et une copie d'un objet Pandas. Par défaut, la première méthode crée une copie, tandis que la seconde méthode renvoie une vue qui fait référence au même emplacement mémoire que l'objet d'origine. Pour obtenir une copie en utilisant la deuxième méthode, utilisez la méthode .copy() :
df1 = df.iloc[0, 0:2].copy()
Utilisation des index de colonnes
Pour accéder aux colonnes par nom à l'aide d'iloc, le les indices de colonnes peuvent être obtenus à l'aide de la fonction get_loc :
column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)} df1 = df.iloc[:, [column_indices['a'], column_indices['b']]]
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!