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
DDDOriginal
2024-11-16 10:09:02937Durchsuche

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())

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()
  • Verwenden Sie Skipinitialspace beim Lesen der CSV Datei:

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

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=';')
  • 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)

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'))

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!

Stellungnahme:
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