Wie man die NaN-Vorkommen in einer Spalte im Pandas-DataFrame zählt

  1. isna() Methode zur Zählung von NaN in einer oder mehreren Spalten
  2. Subtrahieren Sie die Anzahl der Nicht-NaN-Vorkommen von der Gesamtlänge, um die NaN-Vorkommen zu zählen
  3. df.isnull().sum() Methode zur Zählung der NaN-Vorkommen
  4. Zählen Sie NaN-Vorkommen im gesamten Pandas- DataFrame

Wir werden die Methoden zur Zählung der NaN-Vorkommen in einer Spalte im Pandas- DataFrame vorstellen. Es gibt viele Lösungen, darunter die isna() Methode für eine oder mehrere Spalten, durch Subtraktion der Gesamtlänge von der Anzahl der NaN Vorkommen, durch die Verwendung der value_counts Methode und durch die Verwendung der df.isnull().sum() Methode.

Beim Nudl Kudl Mudl lernen, wie man...
Beim Nudl Kudl Mudl lernen, wie man Kärntner Nudeln herstellt

Wir werden auch die Methode zur Berechnung der Gesamtzahl der NaN-Vorkommen im gesamten Pandas- DataFrame vorstellen.

isna() Methode zur Zählung von NaN in einer oder mehreren Spalten

Wir können die insna()-Methode verwenden (Pandas-Versionen > 0.21.0) und dann summieren, um die NaN-Vorkommen zu zählen. Für eine Spalte werden wir wie folgt vorgehen:

import pandas as pd
s = pd.Series([
      1,2,3, np.nan, np.nan])
s.isna().sum()   
# or s.isnull().sum() for older pandas versions

Ausgabe:

2

Für mehrere Spalten funktioniert es auch:

import pandas as pd
df = pd.DataFrame({
    'a':[1,2,np.nan], 
    'b':[np.nan,1,np.nan]})
df.isna().sum()

Ausgabe:

a    1
b    2
dtype: int64

Subtrahieren Sie die Anzahl der Nicht-NaN-Vorkommen von der Gesamtlänge, um die NaN-Vorkommen zu zählen

Wir können die Anzahl der NaN-Vorkommen in jeder Spalte erhalten, indem wir die Anzahl der Nicht-Nan-Vorkommen von der Länge des Dataframes subtrahieren:

import pandas as pd
df = pd.DataFrame([
    (1,2,None),
    (None,4,None),
    (5,None,7),
    (5,None,None)], 
    columns=['a','b','d'], 
    index = ['A', 'B','C','D'])
print(df)
print(len(df)-df.count())

Ausgabe:

     a    b    d
A  1.0  2.0  NaN
B  NaN  4.0  NaN
C  5.0  NaN  7.0
D  5.0  NaN  NaN
a    1
b    2
d    3
dtype: int64

df.isnull().sum() Methode zur Zählung der NaN-Vorkommen

Wir können die Anzahl der NaN-Vorkommen in jeder Spalte erhalten, indem wir die df.isnull().sum() Methode verwenden. Wenn wir die axis=0 innerhalb der Summe-Methode übergeben haben, gibt sie die Anzahl der NaN-Vorkommen in jeder Spalte an. Wenn wir NaN-Vorkommen in jeder Zeile benötigen, setzen Sie axis=1.

Betrachten Sie den folgenden Code:

import pandas as pd

df = pd.DataFrame(
    [(1,2,None),
    (None,4,None),
    (5,None,7),
    (5,None,None)],
    columns=['a','b','d'],
    index = ['A', 'B','C','D'])

print('NaN occurrences in Columns:')
print(df.isnull().sum(axis = 0))
print('NaN occurrences in Rows:')
print(df.isnull().sum(axis = 1))

Ausgabe:

NaN occurrences in Columns:
a    1
b    2
d    3
dtype: int64
NaN occurrences in Rows:
A    1
B    2
C    1
D    2
dtype: int64

Zählen Sie NaN-Vorkommen im gesamten Pandas- DataFrame

Um die Gesamtzahl aller NaN-Vorkommen im DataFrame zu erhalten, verketten wir zwei .sum() Methoden miteinander:

import pandas as pd

df = pd.DataFrame(
    [(1,2,None),
    (None,4,None),
    (5,None,7),
    (5,None,None)],
    columns=['a','b','d'],
    index = ['A', 'B','C','D'])

print('NaN occurrences in DataFrame:')
print(df.isnull().sum().sum())

Ausgabe:

NaN occurrences in DataFrame:
6

Verwandter Artikel - Pandas DataFrame

  • Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
  • Pandas DataFrame-Spalte löschen
  • Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
  • Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame