Анализ пропущенных значений

Работа с пропущенными данными в Python

Suraj Donthi

Deep Learning & Computer Vision Consultant

Загрузка набора данных Air Quality

Набор данных Air Quality

  • содержит показания датчиков озона, солнечной радиации, температуры и ветра
df_air = pd.read_csv('air-quality.csv', 
                            parse_dates=['Date'], 
                            index_col='Date')

df_air.head()
              Ozone  Solar  Wind  Temp
Date                                
1976-05-01   41.0  190.0   7.4    67
1976-05-02   36.0  118.0   8.0    72
1976-05-03   12.0  149.0  12.6    74
1976-05-04   18.0  313.0  11.5    62
1976-05-05    NaN    NaN  14.3    56
Работа с пропущенными данными в Python

DataFrame пропусков

  • Используйте метод .isnull() или .isna() для DataFrame
airquality_nullity = airquality.isnull()
airquality_nullity.head()
            Ozone  Solar   Wind   Temp
Date                                  
1976-05-01  False  False  False  False
1976-05-02  False  False  False  False
1976-05-03  False  False  False  False
1976-05-04  False  False  False  False
1976-05-05   True   True  False  False
Работа с пропущенными данными в Python

Общее число пропущенных значений

airquality_nullity.sum()
Ozone    37
Solar     7
Wind      0
Temp      0
dtype: int64
Работа с пропущенными данными в Python

Доля пропущенных значений

airquality_nullity.mean() * 100
Ozone    24.183007
Solar     4.575163
Wind      0.000000
Temp      0.000000
dtype: float64
Работа с пропущенными данными в Python

Столбчатая диаграмма пропусков

Пакет Missingno

  • Пакет для графического анализа пропущенных значений
import missingno as msno
msno.bar(airquality)

Столбчатая диаграмма пропусков для набора данных Air Quality

Работа с пропущенными данными в Python

Матрица пропусков

msno.matrix(airquality)

Матрица пропусков для набора данных Air Quality

Работа с пропущенными данными в Python

Матрица пропусков

msno.matrix(airquality)

Матрица пропусков для набора данных Air Quality

Работа с пропущенными данными в Python

Матрица пропусков

msno.matrix(airquality)

Матрица пропусков для набора данных Air Quality

Работа с пропущенными данными в Python

Матрица пропусков

msno.matrix(airquality)

Матрица пропусков для набора данных Air Quality

Работа с пропущенными данными в Python

Матрица пропусков для временных рядов

msno.matrix(airquality, freq='M')

Матрица пропусков с месячной частотой для набора данных Air Quality

Работа с пропущенными данными в Python

Матрица пропусков для временных рядов

msno.matrix(airquality, freq='M')

Матрица пропусков с месячной частотой для набора данных Air Quality

Работа с пропущенными данными в Python

Настройка матрицы

msno.matrix(airquality.loc['May-1976': 'Jul-1976'], freq='M')

Матрица пропусков с месячной частотой для набора данных Air Quality

Работа с пропущенными данными в Python

Итоги

На этом уроке мы научились анализировать

  • количество пропусков численно
  • количество пропусков графически
  • долю пропущенных значений
  • матрицу пропусков для обычных наборов данных
  • матрицу пропусков для временных рядов
Работа с пропущенными данными в Python

Давайте потренируемся!

Работа с пропущенными данными в Python

Preparing Video For Download...