Пропущенные значения
Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 45 из 60.
В реальных данных есть пропуски: датчик выходит из строя, ученик пропускает тест. pandas помечает каждую пустую ячейку как NaN — «не число»:
Большинство моделей не принимают 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, рассчитанному по трём известным оценкам.
Задание
СреднеВ фитнес-трекере в tracker.csv отсутствуют некоторые показания. Перед обучением посмотри, как каждый способ обработки пропусков влияет на среднее значение sleep. В начальном коде считывается hours — значение для заполнения.
- Выведи количество пропусков в каждом столбце.
- Выведи среднее значение сна, округлённое до 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())
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Данные и графики
4Преобразование данных
Изменение формы массивовОбъединение массивовСлучайные числаПовторение: симуляция броска кубика2Массивы NumPy
Создание массивовФорма и размерДиапазоны чиселИндексация и срезыПовторение: температурная сетка5Линейные графики и диаграммы рассеяния
Подписи и заголовкиДиаграммы рассеянияНесколько линий и легендыЦвета и маркерыФигуры и осиПовторение: шаги за неделю8Фильтрация и сортировка
Выбор строкФильтрация строкСортировка значенийНовые столбцыПовторение: лучшие товары3Математика массивов
Математика над целыми массивамиСводная статистикаСтатистика по осямТранслированиеБулевы маскиПовторение: результаты экзамена6Графики для данных
Столбчатые диаграммыГистограммыНесколько графиков в одномИзображения как массивыПовторение: отчёт об осадках9Группировка и очистка данных
Подсчёт значенийГруппировка данныхНесколько сводокПропущенные значенияПовторение: результаты опроса12Заключительные задания
Отчёт о продажахПоказания датчиковЦифры с первого взглядаИсследователь-пингвинПотренируйтесь самостоятельно: Онлайн-компилятор Python