Wie zählen nan-Werte in ein pandas DataFrame?
Was ist der beste Weg, um Konto für (not a number) nan-Werte in ein pandas DataFrame?
Folgenden code:
import numpy as np
import pandas as pd
dfd = pd.DataFrame([1, np.nan, 3, 3, 3, np.nan], columns=['a'])
dfv = dfd.a.value_counts().sort_index()
print("nan: %d" % dfv[np.nan].sum())
print("1: %d" % dfv[1].sum())
print("3: %d" % dfv[3].sum())
print("total: %d" % dfv[:].sum())
Ausgänge:
nan: 0
1: 1
3: 3
total: 4
Während die gewünschte Ausgabe:
nan: 2
1: 1
3: 3
total: 6
Ich bin mit pandas 0.17 mit Python-3.5.0 mit Anaconda 2.4.0.
InformationsquelleAutor SpeedCoder5 | 2015-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen zählen nur, NaN-Werte in der Spalte
'a'
eines DataFramedf
verwenden:Hier
count()
sagt uns die Anzahl der nicht-NaN-Werte, und dies ist subtrahiert von der Anzahl der Werte (gegeben durchlen(df)
).Zählen NaN-Werte in jeder Spalte
df
verwenden:Wenn Sie verwenden möchten
value_counts
, sagen Sie es nicht fallen NaN-Werte durch Einstellungdropna=False
(Hinzugefügt in 0.14.1):Diese können die fehlenden Werte in der Spalte gezählt werden zu:
Den rest von deinem code sollte dann so funktionieren, wie Sie erwarten (Hinweis: es ist nicht notwendig zu nennen
sum
; nurprint("nan: %d" % dfv[np.nan])
genügt).Kein problem! Yep, dass funktioniert. In der Tat, Sie konnte nur schreiben
dfv.sum()
alle Werte zählen. Oder, noch effektiver, einfach mallen(dfd)
.InformationsquelleAutor Alex Riley
Zählen nur null-Werte, die Sie verwenden können,
isnull()
:Hier
a
ist die Spalte name, und es gibt 2 vorkommen von " den Wert null in der Spalte.InformationsquelleAutor ilyas patanam
Eine gute, saubere Art zu zählen alle NaN-in der alle Spalten des dataframe wäre ...
Verwendung einer einzigen Summe, erhalten Sie die Anzahl der NaN ' s für jede Spalte. Die zweite Summe, Summen diese Spalte Summen.
InformationsquelleAutor Thom Ives
Doch eine andere Art zu zählen alle die nans in einer df:
num_nans = df.size - df.count().sum()
Timings:
Drucke:
so ziemlich gleichwertig
InformationsquelleAutor Mr_and_Mrs_D
wenn Sie nur wollen, die Zusammenfassung der null-Wert für jede Spalte mit dem folgenden code
df.isnull().sum()
wenn Sie wissen wollen, wie viele null-Werte in der Daten-frame mit folgenden code
df.isnull().sum().sum() # calculate total
InformationsquelleAutor shuishoudage