pandas
我想根据df中的另一列替换列中的值。具体来说,在 where col B == X
,我想更改 中的值,但要更改给定序列中col C
的最后一个值。X
我可以X's
在C
. 但我只想替换最后一个有效的X
. mask
最后一个有效值在这里是理想的吗?
X's
以随机顺序和分组出现
df = pd.DataFrame({
'A' : [1,1,1,1,1,1,1,1],
'B' : ['X','X','X','D','A','A','X','D'],
'C' : [1,1,1,1,1,1,1,1],
})
df.loc[df['B'] == 'X', ['C']] = 'str'
mask = df['B'] == 'X'
预期输出:
A B C
0 1 X 1
1 1 X 1
2 1 X str
3 1 D 1
4 1 A 1
5 1 A 1
6 1 X str
7 1 D 1