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
Libérer: 2024-11-16 10:09:02
original
938 Les gens l'ont consulté

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())
Copier après la connexion

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()
    Copier après la connexion
  • Utilisez skipinitialspace lors de la lecture du fichier CSV :

    reviews_new = pd.read_csv("D:\aviva.csv", skipinitialspace=True)
    Copier après la connexion

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=';')
    Copier après la connexion
  • 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)
    Copier après la connexion

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'))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal