我有一个长得像这样的pandas数据框:
我想根据Flag条件将Flag列的值更改为来自其他列的相同值。即,如果Flag为1,则用同一行中的val_1替换1,如果Flag为2,则用val_2替换它。我要求的输出应该像这样:
val_1 val_2 Flag
Date
2018-08-27 221.0 121.0 0
2018-08-28 222.0 122.0 1
2018-08-29 223.0 123.0 0
2018-08-30 224.0 124.0 2
2018-08-31 225.0 125.0 0
我想根据Flag条件将Flag列的值更改为来自其他列的相同值。即,如果Flag为1,则用同一行中的val_1替换1,如果Flag为2,则用val_2替换它。我要求的输出应该像这样:
val_1 val_2 Flag
Date
2018-08-27 221.0 121.0 0
2018-08-28 222.0 122.0 222.0
2018-08-29 223.0 123.0 0
2018-08-30 224.0 124.0 124.0
2018-08-31 225.0 125.0 0
我知道可以这样用.loc
: df.loc[df['Flag'] == 1, ['Flag']] =
,但是我不知道代码右边应该填什么。
np.select
is better than two nestednp.where
- Quang Hoang