Pandas DataFrame DataFrame.where() 関数
Minahil Noor
2023年1月30日
-
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
には、両方の条件を満たす値が含まれています。