Menu
CoddyTech

Пропущенные значения

Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 45 из 60.

В реальных данных есть пропуски: датчик выходит из строя, ученик пропускает тест. pandas помечает каждую пустую ячейку как NaN — «не число»:

Таблица с четырьмя учениками и двумя тестами, в которой три пустые ячейки отмечены как NaN: Ben пропустил quiz1, Cy и Dee пропустили quiz2. Ниже указано количество пропусков в каждом столбце: 0, 1 и 2

Большинство моделей не принимают NaN, поэтому сначала посчитай пропуски. .isna() помечает каждый из них как True, а .sum() подсчитывает их:

scores = pd.DataFrame({
    "name": ["Ana", "Ben", "Cy", "Dee"],
    "quiz1": [8, np.nan, 7, 9],  # np.nan — это пропуск
    "quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())

Это выводит:

name     0
quiz1    1
quiz2    2
dtype: int64

Затем выбери: dropna() удаляет каждую строку с пропуском; fillna(0) записывает 0 в каждую. Оба метода возвращают новую таблицу, поэтому сохрани её.

При вычислении статистики значения NaN пропускаются: среднее значение quiz1 равно 8.0, рассчитанному по трём известным оценкам.

challenge icon

Задание

Средне

В фитнес-трекере в tracker.csv отсутствуют некоторые показания. Перед обучением посмотри, как каждый способ обработки пропусков влияет на среднее значение sleep. В начальном коде считывается hours — значение для заполнения.

  1. Выведи количество пропусков в каждом столбце.
  2. Выведи среднее значение сна, округлённое до 2 знаков после запятой, тремя способами: пропуская пропуски, учитывая только дни без пропусков во всех столбцах и заполняя пропуски значением hours.

Для другого трекера и значения 8:

day      0
steps    1
sleep    2
water    0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21

Попробуйте сами

import pandas as pd

tracker = pd.read_csv("tracker.csv")
hours = float(input())

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Данные и графики

Потренируйтесь самостоятельно: Онлайн-компилятор Python