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: Length of values does not match length of index
Dieser Fehler tritt auf, wenn Sie versuchen, ein NumPy-Array von Werten einer neuen Spalte in einem pandas DataFrame zuzuweisen, die Länge des Arrays jedoch nicht mit der aktuellen Länge des Index übereinstimmt.
Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.
Angenommen, wir haben den folgenden Pandas DataFrame:
import pandas as pd
#DataFrame definieren
df = pd.DataFrame({'points': [25, 12, 15, 14],
'assists': [5, 7, 13, 12]})
#Dataframe anzeigen
print(df)
points assists
0 25 5
1 12 7
2 15 13
3 14 12
Nehmen wir nun an, wir versuchen, eine neue Spalte namens „rebounds“ als NumPy-Array hinzuzufügen:
import numpy as np
# Versuch, die Spalte „Rebounds“ hinzuzufügen
df['rebounds'] = np.array([3, 3, 7])
ValueError: Length of values (3) does not match length of index (4)
Wir erhalten einen ValueError, weil wir versuchen, ein NumPy-Array mit einer Länge von 3 zu einem DataFrame hinzuzufügen, der einen Index mit einer Länge von 4 hat.
Der einfachste Weg, diesen Fehler zu beheben, besteht darin, einfach eine neue Spalte mit einer Pandas-Serie im Gegensatz zu einem NumPy-Array zu erstellen.
Wenn die Länge der Pandas-Serie nicht mit der Länge des Indexes des DataFrame übereinstimmt, werden standardmäßig NaN-Werte ausgefüllt:
#erstelle eine 'Rebounds'-Spalte
df['rebounds'] = pd.Series([3, 3, 7])
#aktualisierten DataFrame anzeigen
df
points assists rebounds
0 25 5 3.0
1 12 7 3.0
2 15 13 7.0
3 14 12 NaN
Mit einer Pandas-Serie können wir die Spalte „Rebounds“ erfolgreich hinzufügen und die fehlenden Werte werden einfach mit NaN ausgefüllt.
Beachten Sie, dass wir die NaN-Werte mit der Methode fillna() wie folgt schnell in einen anderen Wert (z. B. Null) umwandeln können:
#Fülle NaN-Werte mit Null ein
df = df.fillna(0)
#aktualisierten DataFrame anzeigen
df
points assists rebounds
0 25 5 3.0
1 12 7 3.0
2 15 13 7.0
3 14 12 0.0
Beachten Sie, dass der NaN-Wert in Null umgewandelt wurde.
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 übertragen 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 …