基于条件的另一个序列更新序列中的值

时间:2019-12-18 15:03:12

标签: python pandas time-series

我有两个系列sr1和sr2:

sr1 = pd.Series([1, 2, 3, 4, 5])
sr2 = pd.Series([6, 0, 0, 4 ,9])

我想从sr2更新系列1,即sr1。如果sr2为0,则应该为相同的索引在sr1中更新相同的值。我想要下面的输出:

       sr1

    0   1
    1   0
    2   0
    3   4
    4   5

2 个答案:

答案 0 :(得分:2)

尝试使用mask

df1=df1.mask(df2.A==0,0)
   A
0  1
1  0
2  0
3  4
4  5

答案 1 :(得分:0)

如果使用系列,则可以使用以下代码:

sr1 = pd.Series([1, 2, 3, 4, 5]) 
sr2 = pd.Series([6, 0, 0, 4 ,9])
sr1=sr1.mask(sr2==0,0)