データフレームのCDの2と4と8以外のCDの金額を0にしたいです。
下記コードで実行すると金額が全て0になります。
mask関数でmask(df1["CD"] == 1) |(df1["CD"] == 9) | (df1["CD"] == 5) | (df1["CD"] == 7),0)と指定してもよいですがソースが長くなりますし、他のコードが出てきたときに追加しなくてはならず大変です。2と4と8以外と指定する方法知りたいです。
よろしくお願い致します。
import pandas as pd df1 = pd.DataFrame( data={'CD':[1,2,1,4,1,9,5,7,8], '金額':[100,400,200,500,200,190,590,400,200]}) df1["金額"] = df1["金額"].mask(df1["CD"] != 2 | 4,0)
作成イメージ
CD | 金額 |
---|---|
1 | 0 |
2 | 400 |
1 | 0 |
4 | 500 |
1 | 0 |
9 | 0 |
5 | 0 |
7 | 0 |
8 | 200 |
使っているツールのバージョンなど補足情報
Windows10
python3.9 64bit
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/09 03:41
2022/01/09 04:12
2022/01/09 04:20
2022/01/09 07:19