Вебинары Разобраться в IT Реферальная программа Тесты
Программирование Аналитика Дизайн Маркетинг Управление проектами
05 Фев 2024
2 мин
5149

Проверка на наличие NaN в DataFrame в Pandas

Пройдите тест, узнайте какой профессии подходите

Часто при работе с большими наборами данных, особенно теми, которые были получены из внешних источников, могут возникать проблемы с пропущенными или

Часто при работе с большими наборами данных, особенно теми, которые были получены из внешних источников, могут возникать проблемы с пропущенными или недоступными данными. В 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. Выбор между ними зависит от конкретной ситуации и личных предпочтений.

Добавить комментарий