Ich habe einen wirklich großen DataFrame und habe mich gefragt, ob es einen kurzen Weg (ein oder zwei Zeilen) gibt, um die Anzahl der Nicht-NaN-Einträge in einem DataFrame zu ermitteln. Ich möchte diese Spalte nicht einzeln ausführen, da ich fast 1000 Spalten habe.
df1 = pd.DataFrame([(1,2,None),(None,4,None),(5,None,7),(5,None,None)],
columns=['a','b','d'], index = ['A', 'B','C','D'])
a b d
A 1 2 NaN
B NaN 4 NaN
C 5 NaN 7
D 5 NaN NaN
Ausgabe:
a: 3
b: 2
d: 1
df1.notnull()
ist nicht erforderlich, dacount
Nullwerte ohnehin ignoriert werden.series.value_counts(..., dropna=False)
gibt es keine Optiondf.count()
, um NA-Zählungen direkt zu erhalten.Antworten:
Die
count()
Methode gibt die Anzahl der NichtwerteNaN
in jeder Spalte zurück:>>> df1.count() a 3 b 2 d 1 dtype: int64
count(axis=1)
GibtNaN
in ähnlicher Weise die Anzahl der Nichtwerte in jeder Zeile zurück.quelle
Wenn Sie die Gesamtzählwerte summieren möchten, die nicht NAN sind, können Sie dies tun.
quelle