Часто при работе с большими наборами данных, особенно теми, которые были получены из внешних источников, могут возникать проблемы с пропущенными или недоступными данными. В Python и библиотеке Pandas такие данные обычно представлены значением NaN (Not a Number).
Рассмотрим пример DataFrame:
import pandas as pd import numpy as np data = { 'A': [1, 2, np.nan], 'B': [5, np.nan, np.nan], 'C': [1, 2, 3] } df = pd.DataFrame(data)
В этом DataFrame в столбцах ‘A’ и ‘B’ есть значения NaN.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Варианты проверки наличия NaN
Вариант 1: isnull() и any()
Один из способов проверить наличие NaN в DataFrame — использовать функцию isnull()
. Она возвращает другой DataFrame, где каждое значение это булево значение, указывающее, является ли соответствующее значение в исходном DataFrame NaN.
df.isnull()
Чтобы узнать, есть ли хотя бы одно значение NaN в DataFrame, можно использовать функцию any()
, которая возвращает True, если хотя бы одно значение в DataFrame является True.
df.isnull().any().any()
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Вариант 2: isna() и values
Альтернативный способ — использовать функцию isna()
, которая аналогична isnull()
. Однако, вместо второго any()
можно использовать свойство values
и функцию any()
из numpy.
np.any(df.isna().values)
Оба этих способа позволяют эффективно проверить наличие значений NaN в DataFrame. Выбор между ними зависит от конкретной ситуации и личных предпочтений.
Добавить комментарий