Обробка пропущених значень (I)

Feature Engineering для машинного навчання в Python

Robert O'Callaghan

Director of Data Science, Ordergroove

Видалення цілих рядків

      SurveyDate      ConvertedSalary     Hobby ... \
0  2/28/18 20:20                  NaN       Yes ...
1  6/28/18 13:26              70841.0       Yes ...
2    6/6/18 3:37                  NaN        No ...
3    5/9/18 1:06              21426.0       Yes ...
4  4/12/18 22:41              41671.0       Yes ...
Feature Engineering для машинного навчання в Python

Видалення цілих рядків у Python

# Видаліть усі рядки з принаймні одним пропуском
df.dropna(how='any')
Feature Engineering для машинного навчання в Python

Видалення цілих рядків у Python

# Видаліть рядки з пропусками в конкретному стовпці
df.dropna(subset=['VersionControl'])
Feature Engineering для машинного навчання в Python

Проблеми видалення

  • Видаляє коректні точки даних
  • Спирається на випадковість
  • Зменшує обсяг інформації
Feature Engineering для машинного навчання в Python

Заміна рядками

# Замініть пропущені значення в конкретному стовпці
# заданим рядком
df['VersionControl'].fillna(
    value='None Given', inplace=True
)
Feature Engineering для машинного навчання в Python

Фіксація пропусків

# Зафіксуйте, де значення не пропущені
df['SalaryGiven'] = df['ConvertedSalary'].notnull()
# Видаліть конкретний стовпець
df.drop(columns=['ConvertedSalary'])
Feature Engineering для машинного навчання в Python

Час для практики

Feature Engineering для машинного навчання в Python

Preparing Video For Download...