はじめに
この実験では、Pandas のDataFrame.isna()メソッドの使い方を学びます。isna()メソッドは、pandas の DataFrame 内の欠損値を検出するために使用されます。ブール値の DataFrame を返し、各要素は null 値かどうかを示します。isna()メソッドは、空の文字列やnumpy.infのような特殊な値を null 値としては考慮しません。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
DataFrame の作成
まず、pandas ライブラリのDataFrame()関数を使って、いくつかの欠損値を持つ DataFrame を作成しましょう。必要なライブラリをインポートし、列'a'、'b'、'c'、'd'を持つ DataFrame を作成します。
#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'))
print("------The DataFrame is----------")
print(df)
欠損値の検出
次に、DataFrame 内の欠損値を検出するためにisna()メソッドを使います。どの要素が null 値であるかを確認するために結果を表示します。
print("---------------------------------")
print(df.isna())
結果の評価
コードを実行することで、isna()メソッドが元の DataFrame の各要素に対するブール値から構成される DataFrame を返したことがわかります。False は要素が null 値でないことを示し、True は要素が null 値であることを示します。
空文字列の考慮
前の例では、isna()メソッドは空の文字列を null 値としては考慮しませんでした。もう 1 つの DataFrame を作成し、isna()メソッドが依然として同じように動作するかどうかを確認しましょう。
#creating another DataFrame
df = pd.DataFrame({'a': [0, 1, ''], 'b': ['', None, 3]})
print("------The DataFrame is----------")
print(df)
再度、欠損値の検出
さて、新しい DataFrame に対してisna()メソッドを使って欠損値を検出しましょう。
print("---------------------------------")
print(df.isna())
まとめ
この実験では、Pandas のDataFrame.isna()メソッドを使って DataFrame 内の欠損値を検出する方法を学びました。欠損値が含まれる DataFrame を作成し、isna()メソッドを使ってそれらの欠損値を検出し、結果を観察しました。また、isna()メソッドは空の文字列を null 値としては考慮しないこともわかりました。このメソッドは、Pandas の DataFrame 内の欠損データを処理する際に役立ちます。
もしさらなるお手伝いが必要であれば、お知らせください。