Как найти пропуски в dataframe pandas: руководство и примеры
Как найти пропуски в DataFrame Pandas?
Чтобы найти пропуски в DataFrame Pandas, мы можем использовать метод isnull()
, который возвращает DataFrame с булевыми значениями, показывающими наличие или отсутствие пропусков в данных. Затем, чтобы посчитать количество пропусков в каждом столбце, можно использовать метод sum()
. Вот пример:
import pandas as pd
# Создаем DataFrame с пропусками
data = {'A': [1, 2, None, 4],
'B': [None, 6, 7, 8],
'C': [9, 10, None, 12]}
df = pd.DataFrame(data)
# Проверяем пропуски в данных
missing_values = df.isnull()
print(missing_values)
# Считаем количество пропусков в каждом столбце
missing_counts = df.isnull().sum()
print(missing_counts)
Этот код создает DataFrame с пропусками, затем использует метод isnull()
для проверки пропусков в данных и метод sum()
для подсчета пропусков в каждом столбце. Вы получите DataFrame с булевыми значениями и Series с количеством пропусков для каждого столбца.
Детальный ответ
Как найти пропуски в dataframe pandas
Работа с данными в пандасе (Pandas) может быть сложной из-за пропущенных значений (NaN). Пропуски данных могут создавать проблемы при анализе и обработке данных. В этой статье мы рассмотрим различные способы обнаружения пропусков в dataframe с помощью библиотеки pandas.
1. Проверка наличия пропусков
Первый шаг - это поиск и проверка наличия пропусков в dataframe. Для этого мы можем использовать методы isnull() и notnull(). Метод isnull() возвращает булев массив, указывающий на наличие пропущенных значений в dataframe. Метод notnull() возвращает обратный булев массив, т.е. показывает, какие значения не являются пропусками данных.
import pandas as pd
# Создаем пример dataframe с пропущенными значениями
data = {'Name': ['John', 'Anna', 'Peter', 'Linda'],
'Age': [25, None, 34, None],
'Salary': [50000, 60000, None, 70000]}
df = pd.DataFrame(data)
# Проверка наличия пропусков
print(df.isnull())
print(df.notnull())
Вышеуказанный код позволит нам увидеть булев массив, в котором True обозначает наличие пропущенных значений, а False - их отсутствие.
2. Подсчет пропущенных значений
После обнаружения пропусков можно проанализировать их количество в dataframe. Для этого мы можем использовать метод sum(), который подсчитывает пропущенные значения в каждом столбце.
# Подсчет пропущенных значений
print(df.isnull().sum())
Вышеуказанный код позволит нам узнать количество пропущенных значений в каждом столбце dataframe.
3. Удаление пропущенных значений
Если пропущенные значения несущественны для нашего анализа или обработки данных, мы можем решить удалить их из dataframe. Для этого мы можем использовать метод dropna().
# Удаление пропущенных значений
df_cleaned = df.dropna()
Вышеуказанный код создаст новый dataframe, в котором будут удалены все строки, содержащие хотя бы одно пропущенное значение.
4. Заполнение пропущенных значений
Если пропущенные значения являются значимыми или их удаление не представляется возможным, мы можем заполнить их определенными значениями. Для этого мы можем использовать метод fillna().
# Заполнение пропущенных значений
df_filled = df.fillna(0)
Вышеуказанный код создаст новый dataframe, в котором все пропущенные значения будут заменены на заданное значение (в данном случае - 0).
5. Заполнение пропущенных значений средними значениями
Для числовых данных может быть полезно заполнить пропущенные значения средними значениями столбцов. Для этого мы можем использовать метод fillna() в сочетании с методом mean().
# Заполнение пропущенных значений средними значениями
df_mean = df.fillna(df.mean())
Вышеуказанный код создаст новый dataframe, в котором все пропущенные значения будут заполнены средними значениями соответствующих столбцов.
6. Использование библиотеки missingno
Возможно, вам может потребоваться визуальное представление пропущенных значений в dataframe. В этом случае вы можете использовать библиотеку missingno, которая предоставляет удобные инструменты для визуализации пропущенных значений.
Для установки библиотеки missingno выполните следующую команду:
!pip install missingno
После установки вы можете использовать следующий код для создания матрицы пропущенных значений:
import missingno as msno
# Создание матрицы пропущенных значений
msno.matrix(df)
Вышеуказанный код представит визуальное представление пропущенных значений в dataframe в виде матрицы.
Заключение
В этой статье мы рассмотрели различные способы обнаружения и обработки пропущенных значений в dataframe с использованием библиотеки pandas. Вы можете использовать методы isnull(), notnull(), sum(), dropna(), fillna() и библиотеку missingno, чтобы эффективно работать с пропущенными значениями в данных.