Метод isnull для DataFrame в Pandas

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

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

Введение

В этом практическом занятии мы научимся использовать метод DataFrame.isnull() в pandas. Этот метод используется для обнаружения пропущенных значений в DataFrame. Применяя этот метод к DataFrame, он возвращает DataFrame из булевых значений, где True означает, что элемент является пропущенным значением, а False означает, что элемент не является пропущенным значением. Следует отметить, что этот метод не рассматривает пустые строки или numpy.inf как пропущенные значения.

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) pandas(("Pandas")) -.-> pandas/DataManipulationGroup(["Data Manipulation"]) pandas(("Pandas")) -.-> pandas/DataCleaningGroup(["Data Cleaning"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") pandas/DataManipulationGroup -.-> pandas/change_data_types("Changing Data Types") pandas/DataCleaningGroup -.-> pandas/handle_missing_values("Handling Missing Values") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills python/booleans -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} pandas/change_data_types -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} pandas/handle_missing_values -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} python/using_packages -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} python/data_collections -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} python/data_serialization -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} python/data_analysis -.-> lab-68641{{"Метод isnull для DataFrame в Pandas"}} end

Создание DataFrame

Начнем с создания DataFrame с некоторыми пропущенными значениями. Мы будем использовать функцию pd.DataFrame из библиотеки pandas и константу np.nan из библиотеки numpy.

## Импортируем pandas под именем pd
import pandas as pd
## Импортируем numpy под именем np
import numpy as np

## Создаем DataFrame
df = pd.DataFrame([(0.0, np.nan, -1.0, 1.0), (np.nan, 2.0, np.nan, np.nan), (2.0, 3.0, np.nan, 9.0)], columns=list('abcd'))

Это создаст DataFrame с четырьмя столбцами ('a', 'b', 'c', 'd') и тремя строками. В DataFrame содержатся пропущенные значения, представленные np.nan.

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

Теперь мы будем использовать метод DataFrame.isnull() для обнаружения пропущенных значений в DataFrame.

## Обнаруживаем пропущенные значения в DataFrame
missing_values = df.isnull()

## Выводим DataFrame с пропущенными значениями
print(missing_values)

Это вернет DataFrame, состоящий из булевых значений для каждого элемента в исходном DataFrame. Значения True указывают на то, что соответствующий элемент является пропущенным значением (np.nan), а значения False - на то, что элемент не является пропущенным значением.

Рассматривать пустые строки как пропущенные значения

По умолчанию метод DataFrame.isnull() не рассматривает пустые строки как пропущенные значения. Если вы хотите рассматривать пустые строки как пропущенные значения, вы можете заменить их на np.nan перед использованием метода.

## Заменяем пустые строки на np.nan
df = df.replace('', np.nan)

## Обнаруживаем пропущенные значения в DataFrame
missing_values = df.isnull()

## Выводим DataFrame с пропущенными значениями
print(missing_values)

Теперь это будет рассматривать пустые строки как пропущенные значения и возвращать DataFrame с булевыми значениями, указывающими на наличие пропущенных значений.

Резюме

В этом практическом занятии мы научились использовать метод DataFrame.isnull() в pandas для обнаружения пропущенных значений в DataFrame. Мы увидели, что он возвращает DataFrame из булевых значений, где True указывает на пропущенное значение, а False - на непустое значение. Мы также увидели, что по умолчанию пустые строки не рассматриваются как пропущенные значения, но их можно рассматривать как пропущенные значения, заменив их на np.nan перед использованием метода. Этот метод полезен для задач очистки и предварительной обработки данных в проектах анализа данных и машинного обучения.