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

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы научимся обрабатывать пропущенные данные в pandas, что является распространенной проблемой в анализе данных. Мы рассмотрим, как идентифицировать пропущенные данные, заполнять пропущенные значения и удалять ненужные данные. Также мы обсудим экспериментальный скаляр NA в pandas, который можно использовать для обозначения пропущенных значений.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки и создаем DataFrame

Для начала нам нужно импортировать необходимые библиотеки — pandas и NumPy. Затем мы создадим DataFrame с некоторыми пропущенными значениями.

import pandas as pd
import numpy as np

## Create a DataFrame with missing values
df = pd.DataFrame(
   np.random.randn(5, 3),
   index=["a", "c", "e", "f", "h"],
   columns=["one", "two", "three"],
)
df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])

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

Далее мы будем использовать функции isna и notna для обнаружения пропущенных значений.

## Use isna and notna to detect missing values
pd.isna(df2["one"])
df2["four"].notna()
df2.isna()

Вставка пропущенных данных

Здесь мы увидим, как вставить пропущенные значения в наши данные.

## Insert missing values
s = pd.Series([1., 2., 3.])
s.loc[0] = None

Выполняем вычисления с пропущенными данными

Мы выполним некоторые базовые арифметические и статистические вычисления с пропущенными данными.

## Perform calculations with missing data
df["one"].sum()
df.mean(axis=1, numeric_only=True)
df.cumsum()

Удаляем метки осей с пропущенными данными

Мы узнаем, как исключить метки с пропущенными данными с помощью dropna.

df.dropna(axis=0)
df.dropna(axis=1)
df["one"].dropna()

Интерполируем пропущенные значения

Мы будем использовать функцию interpolate для заполнения пропущенных значений в DataFrame.

df = pd.DataFrame(
   {
       "A": [1, 2.1, np.nan, 4.7, 5.6, 6.8],
       "B": [0.25, np.nan, np.nan, 4, 12.2, 14.4],
   }
)
df.interpolate()

Заменяем общие значения

Мы узнаем, как заменить произвольные значения на другие значения с помощью replace.

ser = pd.Series([0.0, 1.0, 2.0, 3.0, 4.0])
ser.replace(0, 5)

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

Наконец, мы обсудим экспериментальный скаляр NA в pandas, который можно использовать для обозначения пропущенных значений.

s = pd.Series([1, 2, None], dtype="Int64")
s

Резюме

В этом практическом занятии мы научились обрабатывать пропущенные данные с использованием pandas. Мы рассмотрели, как обнаруживать, вставлять, вычислять с и удалять пропущенные данные. Мы также узнали, как интерполировать и заменить пропущенные значения. Наконец, мы обсудили экспериментальный скаляр NA в pandas для обозначения пропущенных значений. Эти знания будут очень полезны при работе с задачами анализа реальных данных, где пропущенные данные — часто распространенная проблема.