Sélection de plusieurs colonnes dans le cadre de données Pandas
Dans la bibliothèque Pandas de Python, la sélection de colonnes spécifiques dans un cadre de données est une opération courante. Cependant, les tentatives visant à le faire de certaines manières peuvent rencontrer des erreurs.
Tentatives infructueuses :
Utilisation de la notation slice comme df['a':'b'] ou df .ix[:, 'a':'b'] pour sélectionner les colonnes entre 'a' et 'b' échoue car les noms de colonnes sont des chaînes et ne peut pas être découpé de cette manière.
Options efficaces :
Utilisation des noms de colonnes :
Pour sélectionner des colonnes spécifiques à l'aide de leur noms, fournissez une liste des noms de colonnes souhaités dans le carré parenthèses :
df1 = df[['a', 'b']]
Utilisation des index de colonnes :
S'il est essentiel de sélectionner les colonnes par leurs indices (plutôt que par leurs noms), utilisez iloc :
df1 = df.iloc[:, 0:2] # Note: Python slicing is exclusive of the ending index.
Considérations :
Afficher vs. Copier :
Les méthodes décrites ci-dessus renvoient une vue de les colonnes souhaitées, pas une copie. Pour créer une nouvelle copie en mémoire, utilisez la méthode .copy() :
df1 = df.iloc[0, 0:2].copy() # Ensures modifications to df1 do not alter df
Utilisation des index de colonnes avec get_loc :
Pour obtenir les index de colonnes spécifiques , utilisez la fonction get_loc de la méthode columns :
column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
Cela renvoie un dictionnaire où les clés sont les indices des colonnes et les valeurs sont les noms de colonnes. Vous pouvez ensuite utiliser ces indices avec iloc pour sélectionner les colonnes souhaitées.
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!