Добавление pandas Серии с разными индексами без получения NaN - программирование

Добавление pandas Серии с разными индексами без получения NaN

Я пытаюсь сделать то, что, по моему мнению, является прямой работой foward в pandas, но я не могу заставить его работать.

У меня есть две серии pandas с разными номерами индексов, я бы хотел добавить значения вместе, если они имеют общий индекс, иначе я просто хотел бы передать значения, у которых нет соответствующих индексов.

Например

Sr1 = pd.Series([1,2,3,4], index = ['A', 'B', 'C', 'D'])
Sr2 = pd.Series([5,6], index = ['A', 'C'])
Sr1        Sr2
A     1    A     5
B     2    C     6
C     3
D     4

Sr1 + Sr2 или Sr1.add(Sr2) дают

A     6
B   NaN
C     9
D   NaN

Но я хочу

A     6
B     2
C     9
D     4

где значения B и D для Sr1 просто передаются вместе.

Любые предложения?

4b9b3361

Ответ 1

Вы можете использовать fill_value:

>>> import pandas as pd
>>> Sr1 = pd.Series([1,2,3,4], index = ['A', 'B', 'C', 'D'])
>>> Sr2 = pd.Series([5,6], index = ['A', 'C'])
>>> Sr1+Sr2
A     6
B   NaN
C     9
D   NaN
>>> Sr1.add(Sr2, fill_value=0)
A    6
B    2
C    9
D    4