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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow