Как подсчитать пропущенные значения в Pandas DataFrame


Часто вас может заинтересовать подсчет количества пропущенных значений в кадре данных pandas.

В этом руководстве показано несколько примеров подсчета пропущенных значений с использованием следующего кадра данных:

import pandas as pd
import numpy as np

#create DataFrame with some missing values
df = pd.DataFrame({'a': [4, np.nan, np.nan, 7, 8, 12],
 'b': [np.nan, 6, 8, 14, 29, np.nan],
 'c': [11, 8, 10, 6, 6, np.nan]})

#view DataFrame
print(df)

 a b c
0 4.0 NaN 11.0
1 NaN 6.0 8.0
2 NaN 8.0 10.0
3 7.0 14.0 6.0
4 8.0 29.0 6.0
5 12.0 NaN NaN

Подсчитайте общее количество пропущенных значений во всем DataFrame

В следующем коде показано, как рассчитать общее количество пропущенных значений во всем DataFrame:

df.isnull().sum().sum ()

5

Это говорит нам о том, что всего пропущено 5 значений.

Подсчитайте общее количество пропущенных значений в столбце

В следующем коде показано, как рассчитать общее количество пропущенных значений в каждом столбце DataFrame:

df.isnull().sum ()

a 2
b 2
c 1

Это говорит нам:

  • Столбец «а» имеет 2 пропущенных значения.
  • Столбец «b» имеет 2 пропущенных значения.
  • Столбец "c" имеет 1 пропущенное значение.

Вы также можете отобразить количество пропущенных значений в процентах от всего столбца:

df.isnull().sum ()/ len(df)\* 100

a 33.333333
b 33.333333
c 16.666667

Это говорит нам:

  • 33,33% значений в столбце «а» отсутствуют.
  • 33,33% значений в столбце «b» отсутствуют.
  • 16,67% значений в столбце «c» отсутствуют.

Подсчитайте общее количество пропущенных значений в строке

В следующем коде показано, как рассчитать общее количество пропущенных значений в каждой строке DataFrame:

df.isnull().sum (axis= 1 )

0 1
1 1
2 1
3 0
4 0
5 2

Это говорит нам:

  • В строке 1 отсутствует 1 значение.
  • В строке 2 отсутствует 1 значение.
  • В строке 3 отсутствует 1 значение.
  • В строке 4 пропущено 0 значений.
  • Строка 5 имеет 0 пропущенных значений.
  • В строке 6 есть 2 пропущенных значения.

Дополнительные ресурсы

Как найти уникальные значения в нескольких столбцах в Pandas
Как создать новый столбец на основе условия в Pandas