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

时间:2013-02-01 04:05:59

标签: python pandas

我有2只熊猫。系列:

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

1 个答案:

答案 0 :(得分: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