加入Pandas系列,同时保持新的指数

2024-06-16 13:08:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个熊猫系列地址:

s
-9999.00    26371
240.00       1755
138.99          2

s2
-9999.00    26371
240.00       1755
113.03          6
100.00          4

我试过concat:

-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

Tags: 地址nans2concatswanted
1条回答
网友
1楼 · 发布于 2024-06-16 13:08:07

可以将.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

相关问题 更多 >