想象一下下面的数据
基数据
df = pd.from_dict({'a': [1,2,1,2,1]
'b': [1,1,3,3,1]
})然后,我取起a列,并根据b列值替换几个值。
df.loc[df['b']== 3]['a'].replace(2,1)我如何才能将我的列重新附加到我的原始df,但只更改那些特定的过滤值?
通缉结果
df = pd.from_dict({'a': [1,2,1,1,1]
'b': [1,1,3,3,1]
})发布于 2022-07-05 13:12:07
处理update
df.update(df.loc[df['b']== 3,['a']].replace(2,1))
df
Out[354]:
a b
0 1.0 1
1 2.0 1
2 1.0 3
3 1.0 3
4 1.0 1发布于 2022-07-05 13:13:56
你可以试试df.mask
df['a'] = df['a'].mask(df['a'].eq(2) & df['b'].eq(3), 1)print(df)
a b
0 1 1
1 2 1
2 1 3
3 1 3
4 1 1https://stackoverflow.com/questions/72869989
复制相似问题