Pandas DataFrame DataFrame.where() 関数
    
    
            Minahil Noor
    2023年1月30日
    
    Pandas
    Pandas DataFrame
    
- 
          
            
pandas.DataFrame.where()の構文 - 
          
            コード例:
DataFrame.where() - 
          
            コード例:
DataFrame.where()で値を指定する - 
          
            コード例:複数の条件を使用するための 
DataFrame.where() 
Python Pandas DataFrame.where() 関数はパラメータとして条件を受け取り、それに応じた結果を生成します。この関数は DataFrame の各値について条件をチェックし、条件を受け入れる値を選択します。関数の機能は if-else 文に似ています。デフォルトでは、条件を受け入れない値は NaN の値に置き換えられます。
pandas.DataFrame.where() の構文
DataFrame.where(
    cond,
    other=NaN,
    inplace=False,
    axis=None,
    level=None,
    errors="raise",
    try_cast=False,
)
パラメータ
この関数はいくつかのパラメータを持っています。すべてのパラメータのデフォルト値は上記の通りです。
cond | 
これはブール値の Series や DataFrame、配列のような構造体、あるいは呼び出し可能なものです。これは DataFrame の各値に対してチェックする条件/条件を表します。条件が True の場合、元の値は置き換えられません。それ以外の場合は NaN の値に置き換えられます。 | 
other | 
これはスカラ、Series/DataFrame、または呼び出し可能なものです。これは、条件が False の場合に元の値に対して配置される値を表します。 | 
inplace | 
これはブール値です。これはデータに対する操作を伝えます。True ならば、それ自体を変更します。 | 
axis | 
これは整数値です。これは作業軸の行または列を表します。 | 
level | 
整数値です。これはレベルを表します。 | 
errors | 
文字列です。これはエラーについて説明します。これには 2つのオプションがあります。rise か ignore です。値が raise の場合、例外の発生を許可します。ignore の場合は例外を無視し、エラーが発生した場合は元のオブジェクトを返します。 | 
try_cast | 
これはブール値です。可能であれば、関数の出力を元の入力型にキャストします。 | 
戻り値
条件に応じて変更された DataFrame を返します。
コード例:DataFrame.where()
この関数については、次のコード例で実装することでさらに詳しく知ることができます。
import pandas as pd
dataframe=pd.DataFrame({
                        'A': 
                            {0: 60, 
                            1: 100, 
                            2: 80,
                            3: 78,
                            4: 95,
                            5: 45,
                            6: 67,
                            7: 12,
                            8: 23,
                            9: 50},
                        'B': 
                            {0: 90, 
                            1: 75, 
                            2: 82, 
                            3: 64, 
                            4: 45,
                            5: 35,
                            6: 74,
                            7: 52,
                            8: 93,
                            9: 18}
                        })
print(dataframe)
DataFrame の例は、
     A   B
0   60  90
1  100  75
2   80  82
3   78  64
4   95  45
5   45  35
6   67  74
7   12  52
8   23  93
9   50  18
この関数は 1つの必須パラメータ cond を持ちます。
import pandas as pd
dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)
dataframe1 = dataframe.where(dataframe > 50)
print(dataframe1)
出力:
       A     B
0   60.0  90.0
1  100.0  75.0
2   80.0  82.0
3   78.0  64.0
4   95.0   NaN
5    NaN   NaN
6   67.0  74.0
7    NaN  52.0
8    NaN  93.0
9    NaN   NaN
50 を超えない値、つまり条件を満たさない値は NaN の値に置き換えられます。
コード例:DataFrame.where() で値を指定する
import pandas as pd
dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)
dataframe1 = dataframe.where(dataframe > 50, other=0)
print(dataframe1)
出力:
     A   B
0   60  90
1  100  75
2   80  82
3   78  64
4   95   0
5    0   0
6   67  74
7    0  52
8    0  93
9    0   0
ここでは、条件を満たさない値はユーザ定義の値に置き換えられます。
コード例:複数の条件を使用するための DataFrame.where()
import pandas as pd
dataframe = pd.DataFrame(
    {
        "A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
        "B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
    }
)
dataframe1 = dataframe.where((dataframe == 80) | (dataframe < 50), other=0)
print(dataframe1)
出力:
    A   B
0   0   0
1   0   0
2  80   0
3   0   0
4   0  45
5  45  35
6   0   0
7  12   0
8  23   0
9   0  18
返される DataFrame には、両方の条件を満たす値が含まれています。
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe