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

Python Pandas:dropna()メソッドでNaN値を除いたインデックスを取得する方法

PandasでNaN値(欠損値)を含まないインデックスを取得するには、index.dropna()メソッドを使用します。このメソッドは、元のインデックスからすべてのNaN値を取り除いた新しいIndexオブジェクトを返します。

必要なライブラリのインポート

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

import pandas as pd
import numpy as np

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

次に、NaN値をいくつか含むPandasインデックスを作成します。

index = pd.Index([50, 10, 70, np.nan, 90, 50, np.nan, np.nan, 30])

インデックスの表示

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

NaN値のみを削除する

dropna()メソッドを呼び出すことで、NaN値だけを削除できます。

print("\nThe Index object after removing NaN values...\n",index.dropna())

完全なサンプルコード

以下に、ここまでの手順をまとめたコード全体を示します。

import pandas as pd
import numpy as np

# NaN値を含むPandasインデックスを作成
index = pd.Index([50, 10, 70, np.nan, 90, 50, np.nan, np.nan, 30])

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

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

# データのdtypeオブジェクトを返す
print("\nThe dtype object...\n",index.dtype)

# NaN値のみを削除
print("\nThe Index object after removing NaN values...\n",index.dropna())

実行結果

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

Pandas Index...
Float64Index([50.0, 10.0, 70.0, nan, 90.0, 50.0, nan, nan, 30.0], dtype='float64')

Number of elements in the index...
9

The dtype object...
float64

The Index object after removing NaN values...
Float64Index([50.0, 10.0, 70.0, 90.0, 50.0, 30.0], dtype='float64')

補足

実行結果にある「Float64Index」は、古いバージョンのPandasで使われていた表現です。Pandas 2.0以降ではFloat64Indexは廃止されており、代わりに「Index([50.0, 10.0, ...], dtype='float64')」のように表示されます。ただし、dropna()によるNaN値の削除処理自体は同じように機能します。

また、dropna()は元のインデックスを変更せず、新しいIndexオブジェクトを返す点にも注意してください。元のインデックスを上書きしたい場合は、戻り値を変数に再代入してください。

  1. Python・Pandasでインデックスの最小値を取得する方法(index.min()の使い方)

    Pandasのインデックス(Index)から最小値を返すには、index.min()メソッドを使用します。このメソッドを呼び出すだけで、インデックスに含まれる要素の中から最も小さい値を簡単に取得できます。まず、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、数値データを含むPandasインデックスを作成します。index = pd.Index([10.5, 20.4, 40.5, 25.6, 5.7, 6.8, 30.8, 50.2])作成したインデックスを表示して確認します。print(Pandas Index...\n, i

  2. 【Python・Pandas】DataFrameをインデックスなしで表示する方法(to_string(index=False)の使い方)

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