Pandasのメソッド説明 mask,where

Pandasのmaskwhereは、データフレームやシリーズ内の条件に基づいて要素を置き換えるためのメソッドです。これらのメソッドは似ていますが、異なる用途で使用されます。

maskメソッド:

maskメソッドは、指定した条件が真(True)の場合にデータを置き換えるメソッドです。条件が真の場合、元の値を指定した値で置き換え、条件が偽の場合は元の値をそのまま残します。

python
import pandas as pd

# サンプルデータフレームを作成
data = {'A': [1, 2, 3, 4, 5],
        'B': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# 'A'列の値が3より大きい場合、-1で置き換える
df_masked = df.mask(df['A'] > 3, -1)

# 結果を表示
print(df_masked)

上記の例では、’A’列の値が3より大きい場合に-1で置き換えています。

whereメソッド:

whereメソッドは、指定した条件が偽(False)の場合にデータを置き換えるメソッドです。条件が偽の場合、元の値を指定した値で置き換え、条件が真の場合は元の値をそのまま残します。

python
# 'B'列の値が30より小さい場合、100で置き換える
df_where = df.where(df['B'] < 30, 100)

# 結果を表示
print(df_where)

上記の例では、’B’列の値が30より小さい場合に100で置き換えています。

maskwhereは、条件に基づいてデータを置き換えることができるため、データのクリーニングや条件に応じたデータの変換に役立ちます。どちらを使用するかは、条件が真または偽に基づいてデータを変更するかどうかによって異なります。