So beheben sie in pandas: keyerror: „['label'] nicht in achse gefunden”
Ein Fehler, der bei der Verwendung von Pandas auftreten kann, ist:
KeyError : "['Label'] not found in axis"
Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, eine Spalte aus einem Pandas-DataFrame zu entfernen und vergessen, axis=1 anzugeben.
Standardmäßig ist das Achsenargument auf 0 gesetzt, was sich auf Linien bezieht. Sie müssen axis=1 angeben, um Pandas anzuweisen, sich die Spalten anzusehen.
Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.
So reproduzieren Sie den Fehler
Angenommen, wir haben den folgenden Pandas-DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' points ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team assists points 0 to 5 11 1 to 7 8 2 to 7 10 3 to 9 6 4 B 12 6 5 B 9 5 6 B 9 9 7 B 4 12
Nehmen wir nun an, wir versuchen, die Spalte „Punkte“ aus dem DataFrame zu entfernen:
#attempt to drop "points" column
df_new = df. drop (' points ')
KeyError : "['points'] not found in axis"
Standardmäßig verwendet die Funktion drop() axis=0 , was sich auf die Zeilen des DataFrame bezieht.
Da es keinen Zeilennamen namens „points“ gibt, erhalten wir eine Fehlermeldung.
So beheben Sie den Fehler
Um Pandas anzuweisen, sich stattdessen die Spalten anzusehen, müssen wir axis=1 wie folgt angeben:
#drop "points" column
df_new = df. drop (' points ', axis= 1 )
#view updated DataFrame
print (df)
team assists
0 to 5
1 to 7
2 to 7
3 to 9
4 B 12
5 B 9
6 B 9
7 B 4
Beachten Sie, dass die Spalte „Punkte“ aus dem DataFrame entfernt wurde und wir keine Fehler erhalten.
Dies liegt daran, dass wir axis=1 verwendet haben, sodass Pandas bei der Entscheidung, welche Werte aus dem DataFrame entfernt werden sollen, auf die Spaltennamen nach „Punkten“ achten musste.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:
So beheben Sie KeyError in Pandas
So beheben Sie: ValueError: Float NaN kann nicht in int konvertiert werden
So beheben Sie: ValueError: Operanden konnten nicht mit Formen übertragen werden