Ein Fehler, auf den Sie bei der Verwendung von Pandas stoßen können, ist:
KeyError: "['Label'] not found in axis"
Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, eine Spalte aus …
Ein Fehler, auf den Sie bei der Verwendung von Pandas stoßen können, ist:
ValueError: Can only compare identically-labeled DataFrame objects
Dieser Fehler tritt auf, wenn Sie versuchen, zwei Pandas DataFrames zu vergleichen, und entweder die Indexbezeichnungen oder die Spaltenbezeichnungen nicht perfekt übereinstimmen.
Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.
Angenommen, wir haben die folgenden zwei Pandas DataFrames:
import pandas as pd
#Dataframe definieren
df1 = pd.DataFrame({'points': [25, 12, 15, 14],
'assists': [5, 7, 13, 12]})
df2 = pd.DataFrame({'points': [25, 12, 15, 14],
'assists': [5, 7, 13, 12]},
index=[3, 2, 1, 0])
#DataFrames anzeigen
print(df1)
points assists
0 25 5
1 12 7
2 15 13
3 14 12
print(df2)
points assists
3 25 5
2 12 7
1 15 13
0 14 12
Beachten Sie, dass die Spaltenbezeichnungen übereinstimmen, die Indexbezeichnungen jedoch nicht.
Wenn wir versuchen, die beiden DataFrames zu vergleichen, erhalten wir eine Fehlermeldung:
#Versuch, die DataFrames zu vergleichen
df1 = df2
ValueError: Can only compare identically-labeled DataFrame objects
Es gibt einige Methoden, mit denen wir diesen Fehler beheben können.
Methode 1: DataFrames vergleichen (einschließlich Indexlabels)
Wir können die folgende Syntax verwenden, um die beiden DataFrames zu vergleichen, um zu sehen, ob sie perfekt übereinstimmen (einschließlich der Indexbezeichnungen):
df1.equals(df2)
False
Dies sagt uns, dass die beiden DataFrames nicht perfekt übereinstimmen (einschließlich der Indexbezeichnungen).
Methode 2: DataFrames vergleichen (Indexlabels ignorieren)
Wir können die folgende Syntax verwenden, um die beiden DataFrames zu vergleichen, um zu sehen, ob sie perfekt übereinstimmen, während wir die Indexbezeichnungen vollständig ignorieren:
df1.reset_index(drop=True).equals(df2.reset_index(drop=True))
True
Dies sagt uns, dass die beiden DataFrames perfekt übereinstimmen (ohne Berücksichtigung der Indexlabels).
Methode 3: DataFrames Zeile für Zeile vergleichen
Wir können die folgende Syntax verwenden, um die beiden DataFrames Zeile für Zeile zu vergleichen, um zu sehen, welche Zeilenwerte übereinstimmen:
df1.reset_index(drop=True) == df2.reset_index(drop=True)
points assists
0 True True
1 True True
2 True True
3 True True
Dadurch können wir sehen, welche Werte in jeder Zeile übereinstimmen.
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:
So beheben Sie KeyError in Pandas
Behebung: ValueError: Float NaN kann nicht in Integer konvertiert werden
Behebung: ValueError: Operanden konnten nicht zusammen mit Shapes gesendet werden
Ein Fehler, auf den Sie bei der Verwendung von Pandas stoßen können, ist:
KeyError: "['Label'] not found in axis"
Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, eine Spalte aus …
Ein Fehler, auf den Sie bei der Verwendung von Pandas stoßen können, ist:
ValueError: columns overlap but no suffix specified: Index(['column'], dtype='object')
Dieser Fehler tritt auf, wenn Sie …