Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】PandasのIndexでどの要素がNA(欠損値)かを確認する方法

PandasのIndexオブジェクトに含まれる要素のうち、どれがNA(欠損値)なのかを確認するには、index.isna()メソッドを使用します。このメソッドは、NAに該当する要素に対してTrue、それ以外に対してFalseを返すブール配列を出力します。

まずは、必要なライブラリをインポートしましょう。

import pandas as pd
import numpy as np

NaN値を含むインデックスの作成

次に、NaN値をいくつか含むPandasインデックスを作成します。NaNはNumPyのnp.nanで表現できます。

index = pd.Index([5, 65, np.nan, 17, 75, np.nan])

作成したインデックスを表示して確認します。

print("Pandas Index...\n", index)

isna()メソッドでNA要素を判定する

index.isna()を呼び出すことで、インデックス内のどの要素がNAであるかを確認できます。NAの要素にはTrueが返されます。

print("\nCheck which entries are NA...\n", index.isna())

完全なサンプルコード

以下に、ここまでの手順をまとめたコード全体を示します。あわせて、インデックスの要素数やデータ型(dtype)も確認しています。

import pandas as pd
import numpy as np

# NaN値を含むPandasインデックスを作成
index = pd.Index([5, 65, np.nan, 17, 75, np.nan])

# Pandasインデックスを表示
print("Pandas Index...\n", index)

# インデックスの要素数を取得
print("\nNumber of elements in the index...\n", index.size)

# データのdtypeを取得
print("\nThe dtype object...\n", index.dtype)

# インデックス内のどの要素がNAかを確認
# NAの要素にはTrueが返される
print("\nCheck which entries are NA...\n", index.isna())

実行結果

上記のコードを実行すると、以下のような出力が得られます。

Pandas Index...
Float64Index([5.0, 65.0, nan, 17.0, 75.0, nan], dtype='float64')

Number of elements in the index...
6

The dtype object...
float64

Check which entries are NA...
[False False True False False True]

ポイントのまとめ

  • isna()は、Index内の各要素がNAかどうかをブール値(True/False)の配列で返します。
  • NaNが1つでも含まれると、数値型のインデックスは自動的にfloat64に変換されます(整数型ではNaNを表現できないため)。
  • NA要素の総数を知りたい場合は、index.isna().sum()を使うと便利です。
  1. 【Python・Pandas】DataFrameをインデックスなしで表示する方法(to_string(index=False)の使い方)

    PandasのDataFrameを表示する際、通常は行ラベル(インデックス)も一緒に出力されます。しかし、データ部分だけをきれいに表示したい場合もあります。そのようなときは、to_string()メソッドにindex=Falseを指定することで、インデックスを非表示にできます。この記事では、実際のコード例とともに、インデックスなしでDataFrameを表示する手順をわかりやすく解説します。手順1:必要なライブラリをインポートするまず、Pandasライブラリをインポートします。import pandas as pd手順2:DataFrameを作成する次に、サンプル用のDataFrameを作成しま

  2. Pythonの不変(イミュータブル)データ型とは?種類と特徴をわかりやすく解説

    不変(イミュータブル)オブジェクトとは?メモリ上に一度作成されたオブジェクトの内容を、後から変更できないものを「不変(イミュータブル)なオブジェクト」と呼びます。不変オブジェクトに対して変更操作を行うと、元のオブジェクトが書き換えられるのではなく、新しいオブジェクトが生成されるのが特徴です。Pythonにおける主な不変データ型の一覧Pythonでは、以下のデータ型が不変(イミュータブル)として扱われます。数値型(int・float・complex):整数や浮動小数点数などの数値オブジェクト文字列型(str):文字単位での書き換えができない文字列タプル(tuple):作成後に要素の追加・削除・変