Pandas DataFrame の isnull メソッド

PandasPandasBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、pandas の DataFrame.isnull() メソッドの使い方を学びます。このメソッドは、DataFrame 内の欠損値を検出するために使用されます。このメソッドを DataFrame に適用すると、ブール値の DataFrame が返され、True は要素が null 値であることを示し、False は要素が null 値でないことを示します。このメソッドは、空の文字列や numpy.inf を null 値としては考えません。これに注意することが重要です。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。私たちは迅速に問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL 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(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) 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{{"Pandas DataFrame の isnull メソッド"}} pandas/change_data_types -.-> lab-68641{{"Pandas DataFrame の isnull メソッド"}} pandas/handle_missing_values -.-> lab-68641{{"Pandas DataFrame の isnull メソッド"}} python/using_packages -.-> lab-68641{{"Pandas DataFrame の isnull メソッド"}} python/data_collections -.-> lab-68641{{"Pandas DataFrame の isnull メソッド"}} python/data_serialization -.-> lab-68641{{"Pandas DataFrame の isnull メソッド"}} python/data_analysis -.-> lab-68641{{"Pandas DataFrame の isnull メソッド"}} end

DataFrame を作成する

いくつかの欠損値を持つ DataFrame を作成してみましょう。pandas の pd.DataFrame 関数と numpy の np.nan 定数を使用します。

## Importing pandas as pd
import pandas as pd
## Importing numpy as np
import numpy as np

## Creating the 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'))

これにより、4 つの列 ('a', 'b', 'c', 'd') と 3 つの行からなる DataFrame が作成されます。DataFrame には np.nan で表される欠損値が含まれています。

欠損値を検出する

次に、DataFrame 内の欠損値を検出するために DataFrame.isnull() メソッドを使用します。

## Detecting missing values in the DataFrame
missing_values = df.isnull()

## Printing the DataFrame with missing values
print(missing_values)

これにより、元の DataFrame の各要素に対応するブール値から構成される DataFrame が返されます。True の値は、対応する要素が欠損値 (np.nan) であることを示し、False の値は、要素が欠損値でないことを示します。

空の文字列を欠損値として扱う

既定では、DataFrame.isnull() メソッドは空の文字列を欠損値としては考えません。空の文字列を欠損値として扱いたい場合は、このメソッドを使用する前にそれらを np.nan に置き換えることができます。

## Replacing empty strings with np.nan
df = df.replace('', np.nan)

## Detecting missing values in the DataFrame
missing_values = df.isnull()

## Printing the DataFrame with missing values
print(missing_values)

これにより、空の文字列を欠損値として扱い、欠損値の有無を示すブール値の DataFrame が返されます。

まとめ

この実験では、pandas の DataFrame.isnull() メソッドを使って DataFrame 内の欠損値を検出する方法を学びました。それがブール値の DataFrame を返すこと、そこでは True が欠損値を、False が欠損値でない値を示すことがわかりました。また、既定では空の文字列は欠損値としては考えられないものの、このメソッドを使用する前にそれらを np.nan に置き換えることで欠損値として扱うことができることもわかりました。このメソッドは、データ分析や機械学習プロジェクトにおけるデータクリーニングと前処理のタスクに役立ちます。