Heim > Backend-Entwicklung > Python-Tutorial > Warum erhalte ich beim Zugriff auf eine DataFrame-Spalte einen „Pandas Hashtable KeyError'?

Warum erhalte ich beim Zugriff auf eine DataFrame-Spalte einen „Pandas Hashtable KeyError'?

DDD
Freigeben: 2024-11-16 10:09:02
Original
921 Leute haben es durchsucht

Why am I Getting a

Fehlerbehebung „Fehler: Pandas Hashtable KeyError“

Beim Versuch, eine bestimmte Spalte aus einem Pandas-DataFrame abzurufen, stoßen Sie möglicherweise auf eine „Hashtabelle“. Schlüsselfehler." Dieser Fehler tritt auf, wenn der angegebene Spaltenname nicht im DataFrame vorhanden ist.

Untersuchung:

Beginnen Sie mit der Überprüfung der tatsächlichen Spaltennamen im DataFrame. Verwenden Sie den folgenden Code, um die Spaltennamen aufzulisten, und stellen Sie sicher, dass Sie alle führenden oder nachgestellten Leerzeichen entfernen:

print(reviews_new.columns.tolist())
Nach dem Login kopieren

Mögliche Lösungen:

1. Leerzeichen in Spaltennamen

Wenn die Spaltennamen Leerzeichen enthalten, können Sie:

  • Leerzeichen aus Spaltennamen entfernen:

    reviews_new.columns = reviews_new.columns.str.strip()
    Nach dem Login kopieren
  • Verwenden Sie Skipinitialspace beim Lesen der CSV Datei:

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

2. Benutzerdefiniertes Trennzeichen

Wenn die CSV-Datei ein anderes Trennzeichen als das Standardkomma (,) verwendet, müssen Sie es mit dem sep-Parameter angeben:

  • Semikolon als Trennzeichen:

    reviews_new = pd.read_csv("D:\aviva.csv", sep=';')
    Nach dem Login kopieren
  • Leerzeichen als Trennzeichen:

    # 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)
    Nach dem Login kopieren

3. Fehlende Spaltennamen

Wenn der DataFrame keine Spaltennamen hat, ruft der folgende Code die Spaltenwerte mithilfe des DataFrame-Index ab:

print(df.index)
print(df.index.get_level_values('column_name'))
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Für DataFrames mit mehreren Indizes (MultiIndex) verwenden Sie get_level_values, um Spaltenwerte abzurufen Ebenenname.
  • Stellen Sie sicher, dass der angegebene Spaltenname genau mit der Groß- und Kleinschreibung der Spalte im DataFrame übereinstimmt.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Zugriff auf eine DataFrame-Spalte einen „Pandas Hashtable KeyError'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage