pandas
Gotchas von Pandas
Suche…
Bemerkungen
Gotcha ist im Allgemeinen ein Konstrukt, das zwar dokumentiert, aber nicht intuitiv ist. Gotchas erzeugen eine Ausgabe, die aufgrund ihres kontraintuitiven Charakters normalerweise nicht erwartet wird.
Das Pandas-Paket enthält mehrere Fallstricke, die jemanden verwirren können, der sich dessen nicht bewusst ist. Einige davon werden auf dieser Dokumentationsseite dargestellt.
Fehlende Werte mit np.nan ermitteln
Wenn Sie Missings mit erkennen möchten
df=pd.DataFrame({'col':[1,np.nan]})
df==np.nan
Sie erhalten folgendes Ergebnis:
col
0 False
1 False
Dies liegt daran, dass der Vergleich eines fehlenden Werts mit einem beliebigen Wert zu einem False führt. Stattdessen sollten Sie diesen Wert verwenden
df=pd.DataFrame({'col':[1,np.nan]})
df.isnull()
was in ... resultiert:
col
0 False
1 True
Ganzzahl und NA
Pandas unterstützen kein Vermissen in Attributen vom Typ Integer. Zum Beispiel, wenn Sie in der Besoldungsspalte Versäumnisse haben:
df= pd.read_csv("data.csv", dtype={'grade': int})
error: Integer column has NA values
In diesem Fall sollten Sie anstelle von ganzen Zahlen Float verwenden oder das Objekt dtype setzen.
Automatische Datenausrichtung (durch Index hervorgehobenes Verhalten)
Wenn Sie eine Reihe von Werten [1,2] an die Spalte des Datenrahmens df anhängen möchten, erhalten Sie NaNs:
import pandas as pd
series=pd.Series([1,2])
df=pd.DataFrame(index=[3,4])
df['col']=series
df
col
3 NaN
4 NaN
Durch das Setzen einer neuen Spalte werden die Daten automatisch nach dem Index ausgerichtet, und Ihre Werte 1 und 2 erhalten die Indizes 0 und 1 und nicht 3 und 4 wie in Ihrem Datenrahmen:
df=pd.DataFrame(index=[1,2])
df['col']=series
df
col
1 2.0
2 NaN
Wenn Sie den Index ignorieren möchten, sollten Sie am Ende die .values setzen:
df['col']=series.values
col
3 1
4 2