Pandasのwhere
関数は、条件に合致した値を探すだけでなく、値に応じて条件分岐した処理を行うことができます。この記事では、where
関数の基本的な使い方と、NumPyの関数を使った同様の処理の仕方について解説します。
where関数の基本的な使い方
where
関数は、条件がTrueの場合は元の値を保持し、Falseの場合は指定した値により更新が行われます。以下に基本的な使い方を示します。
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, 3, -1, 2, -2, 5],
'B': [3, 3, 6, -5, 2, 2, -1]
})
df.where(df > 0, 0) # 各要素について検討する
上記のコードでは、DataFrameの各要素が0より大きい場合はそのままの値を保持し、0以下の場合は0に置き換えられます。
NumPyのwhere関数との比較
Pandasのwhere
関数とNumPyのwhere
関数は似ていますが、使い方が少し異なります。Pandasのwhere
関数は、条件がTrueの場合は元の値を保持し、Falseの場合は他の値に置き換えます。一方、NumPyのwhere
関数は、条件がTrueの場合は第二引数の値を、Falseの場合は第三引数の値を返します。
まとめ
Pandasのwhere
関数は、データ分析において非常に便利なツールです。条件に基づいてデータを操作することができ、コードをシンプルに保つことができます。この記事が、where
関数の理解と使用に役立つことを願っています。.