Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que je reçois une \'Pandas Hashtable KeyError\' lors de l'accès à une colonne DataFrame ?

Pourquoi est-ce que je reçois une \'Pandas Hashtable KeyError\' lors de l'accès à une colonne DataFrame ?

DDD
DDDoriginal
2024-11-16 10:09:02939parcourir

Why am I Getting a

"Erreur : Pandas Hashtable KeyError" Dépannage

Lorsque vous essayez de récupérer une colonne particulière à partir d'un DataFrame pandas, vous pouvez rencontrer une "table de hachage erreur de clé." Cette erreur se produit lorsque le nom de colonne spécifié n'existe pas dans le DataFrame.

Enquête :

Commencez par vérifier les noms de colonnes réels dans le DataFrame. Utilisez le code suivant pour répertorier les noms de colonnes, en vous assurant de supprimer tous les espaces de début ou de fin :

print(reviews_new.columns.tolist())

Solutions potentielles :

1. Espaces dans les noms de colonnes

Si les noms de colonnes contiennent des espaces, vous pouvez :

  • Supprimer les espaces des noms de colonnes :

    reviews_new.columns = reviews_new.columns.str.strip()
  • Utilisez skipinitialspace lors de la lecture du fichier CSV :

    reviews_new = pd.read_csv("D:\aviva.csv", skipinitialspace=True)

2. Séparateur personnalisé

Si le fichier CSV utilise un séparateur autre que la virgule par défaut (,), vous devez le spécifier à l'aide du paramètre sep :

  • Point-virgule comme séparateur :

    reviews_new = pd.read_csv("D:\aviva.csv", sep=';')
  • Espace comme séparateur :

    # sep is whitespace
    reviews_new = pd.read_csv("D:\aviva.csv", sep='\s+')
    
    # Another option for whitespaces as separator
    reviews_new = pd.read_csv("D:\aviva.csv", delim_whitespace=True)

3. Noms de colonnes manquants

Si le DataFrame n'a pas de noms de colonnes, le code suivant récupérera les valeurs de colonne à l'aide de l'index DataFrame :

print(df.index)
print(df.index.get_level_values('column_name'))

Remarques supplémentaires :

  • Pour les DataFrames avec plusieurs indices (MultiIndex), utilisez get_level_values ​​pour récupérer les valeurs de colonne par nom de niveau.
  • Assurez-vous que le nom de colonne spécifié correspond à la casse et à la majuscule exactes du colonne dans le DataFrame.

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