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:
TypeError: no numeric data to plot
Dieser Fehler tritt auf, wenn Sie versuchen, Werte aus einem Pandas-Dataframe darzustellen, aber keine numerischen Werte zum Darstellen vorhanden sind.
Dieser Fehler tritt normalerweise auf, wenn Sie denken, dass eine bestimmte Spalte im DataFrame numerisch ist, sich aber als ein anderer Datentyp herausstellt.
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 erstellen
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B'],
'points': ['5', '7', '7', '9', '12'],
'rebounds': ['11', '8', '10', '6', '6'],
'blocks': ['4', '7', '7', '6', '5']})
#Dataframe anzeigen
df
team points rebounds blocks
0 A 5 11 4
1 A 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
Nehmen wir nun an, wir versuchen, ein Liniendiagramm für die drei Variablen zu erstellen, von denen wir glauben, dass sie numerisch sind: Points, Rebounds und Blocks:
# Versuch, Liniendiagramme für Punkte, Rebounds und Blocks zu erstellen
df[['points', 'rebounds', 'blocks']].plot()
ValueError: no numeric data to plot
Wir erhalten eine Fehlermeldung, da keine dieser Spalten tatsächlich numerisch ist.
Wir können die dtypes-Funktion verwenden, um zu sehen, welchen Datentyp jede Spalte in unserem DataFrame hat:
#Datentyp jeder Spalte in DataFrame anzeigen
df.dtypes
team object
points object
rebounds object
blocks object
dtype: object
Wir können sehen, dass keine der Spalten im DataFrame numerisch ist.
Wir können die Funktion .astype() verwenden, um bestimmte Spalten in Zahlen umzuwandeln:
# Konvertiere Poins, Rebounds und Blocks in numerische Spalten
df['points']=df['points'].astype(float)
df['rebounds']=df['rebounds'].astype(float)
df['blocks']=df['blocks'].astype(float)
Wir können dann wieder die Funktion plot() verwenden:
# Liniendiagramm für Punkte, Rebounds und Blocks erstellen
df[['points', 'rebounds', 'blocks']].plot()
Wir können erfolgreich ein Liniendiagramm für Punkte, Rebounds und Blocks erstellen, da jede Variable jetzt numerisch ist.
Wir können dies überprüfen, indem wir erneut die Funktion dtypes verwenden:
#Datentyp jeder Spalte in DataFrame anzeigen
df.dtypes
team object
points float64
rebounds float64
blocks float64
dtype: object
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 …