pandas:有效地将两个(时间)序列的值相加

pandas: efficiently adding the values of two (time) series

我有两个(比玩具示例大)系列例如:

s1 = pd.read_json('{"count":{"1614470400000":4,"1617148800000":0,"1619740800000":0,"1622419200000":4,"1625011200000":4,"1627689600000":5,"1630368000000":0,"1632960000000":8,"1635638400000":2}}')['count']
s2 = pd.read_json('{"count":{"1625011200000":1}}')['count']

添加它们的有效方法是什么? 我可以想象创建一个连接,然后添加忽略 nans,但我认为这应该比对它们进行合并排序的某些操作慢?

这是玩具示例的预期结果:

使用参数 fill_value=0

尝试 Series.add(...)
out = s1.add(s2,fill_value=0)
            count
2019-06-30    1.0
2021-02-28    4.0
2021-03-31    0.0
2021-04-30    0.0
2021-05-31    4.0
2021-06-30    4.0
2021-07-31    5.0
2021-08-31    0.0
2021-09-30    8.0
2021-10-31    2.0

以下有效,但我真的不知道您如何将 2019 年 6 月 30 日和 2021 年 6 月 30 日加在一起得到 5。我不得不将 2019 年更改为 2021 年才能使其有效。

s3 = pd.concat([s1,s2])
s3.groupby(level=0).sum()