0

我有 2 个 pandas.Series:

s
-9999.00    26371
240.00       1755
138.99          2

s2
-9999.00    26371
240.00       1755
113.03          6
100.00          4

我试过连接:

-9999.00    26371
 240.00      1755
 138.99         2
-9999.00    26371
 240.00      1747
 113.03         6
 100.00         4

和 s+s2:

-9999.00    52742
 100.00       NaN
 113.03       NaN
 138.99       NaN
 240.00      3502

但我需要添加现有索引的值并在出现新索引时保留新索引的输出,因此混合使用 concat 和“+”。我怎样才能做到这一点?我的预期输出是

swanted:

-9999.00    52742
 100.00         4
 113.03         6
 138.99         2
 240.00      3502
4

1 回答 1

2

您可以使用该.add方法fill_value

>>> s = pd.Series(index=[-9999, 240, 138.99], data=[26371, 1755, 2])
>>> s2 = pd.Series(index=[-9999, 240, 113.03, 110], data=[26371, 1755, 6, 4])
>>> s.add(s2, fill_value=0)
-9999.00    52742
 110.00         4
 113.03         6
 138.99         2
 240.00      3510

或者您可以先将两者对齐,然后简单地添加它们+

>>> s.align(s2, fill_value=0)
(-9999.00    26371
 110.00         0
 113.03         0
 138.99         2
 240.00      1755, -9999.00    26371
 110.00         4
 113.03         6
 138.99         0
 240.00      1755)
>>> s, s2 = s.align(s2, fill_value=0)
>>> s + s2
-9999.00    52742
 110.00         4
 113.03         6
 138.99         2
 240.00      3510
于 2013-02-01T04:16:02.993 回答