Skip to main content
 首页 » 编程设计

python之添加两列时的 NaN 值

2025年05月04日12freeliver54

我有两个索引不同的数据帧,我想对这两个数据帧中的同一列求和。 我尝试了以下但给出了 NaN 值

result['Anomaly'] = df['Anomaly'] + tmp['Anomaly'] 
df 
    date           Anomaly 
0 2018-12-06         0 
1 2019-01-07         0 
2 2019-02-06         1 
3 2019-03-06         0 
4 2019-04-06         0 
 
tmp 
    date           Anomaly 
0 2018-12-06         0 
1 2019-01-07         1 
4 2019-04-06         0 
 
result 
    date           Anomaly 
0 2018-12-06        0.0 
1 2019-01-07        NaN 
2 2019-02-06        1.0 
3 2019-03-06        0.0 
4 2019-04-06        0.0 

我想要的其实是:

result 
    date           Anomaly 
0 2018-12-06         0 
1 2019-01-07         1 
2 2019-02-06         1 
3 2019-03-06         0 
4 2019-04-06         0 

请您参考如下方法:

这里需要按datetimes对齐,所以先用DataFrame.set_index对于 DatetimeIndex 然后使用 Series.add :

df = df.set_index('date') 
tmp = tmp.set_index('date') 
result = df['Anomaly'].add(tmp['Anomaly'], fill_value=0).reset_index()