根据多个条件替换多个值

时间:2020-04-24 14:11:06

标签: python pandas

我想用两个不同列中的另外两个值替换两个不同列中的两个值。示例:

我要替换null列中value的所有值,其中variable列中的值为name,而source是{{1 }}。另外,我想保留替换值的来源。

a

预期输出:

variable | value    | source
name       np.NaN     a
name       John       b
email      qq@g.com   a
....       ....      ....

然后我将删除重复项。我试图用np.where做到这一点,但没有成功。 我不知道该如何做多个条件和多个替换。

variable | value    | source
name       John       b
name       John       b
email      qq@g.com   a
....       ....      ....

也许有更优雅的方法可以做到这一点。另外,性能越快越好。

1 个答案:

答案 0 :(得分:0)

如果我很好理解,这是一个解决方案:

df[(df['variable'] =!'name') | (~df['value'].isna()) | (df['source'] =! 'a')]