pandasのある列の条件に合致するとき、違う列に番号を代入したいのですがうまくできません。
データセット(df)
index | A | B |
---|---|---|
1 | 20 | 0 |
2 | 40 | 0 |
3 | 60 | 0 |
4 | 80 | 0 |
5 | 100 | 0 |
やりたいこと
dfのA列で条件式に合致するとき、B列に数値を代入したいです。
(条件式)A列 B列
・0 < i <= 20 1
・21 < i <= 40 2
・41 < i <= 60 3
・61 < i <= 80 4
・81 < i <= 100 5
やってみたこと
python
1for i in df['A']: 2 if 0 < i <= 20 : df['B']=1 3 elif 21 < i <= 40 : df['B']=2 4 elif 41 < i <= 60 : df['B']=3 5 elif 61 < i <= 80 : df['B']=4 6 elif 81 < i <= 100 : df['B']=5 7 else: nothing 8
df['B']のoutputは全て5になります。df['B']をprintにすると、1,2,3,4,5となりますのでdf['B]への代入が理解できていないと思います。
また、可能なら、20刻みの一定間隔なので一括で処理する方法がありましたら、ご教示頂けると幸甚です。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー