添加两个缺少数据的系列

时间:2014-11-11 02:57:27

标签: pandas

我想将a和b系列加在一起。我知道系列b中的键总是在a中,但是a中的键不在b中。我不希望nans出现在结果中。

例如:

In[114] a
Out[114]: 
a    1
b    3
c    2
d    5
dtype: int64

In[115] b
Out[115]: 
b    3
c    2
dtype: int64

如果我只使用添加功能,我将在缺失的位置获得nans。

In[116] a.add(b)
Out[116]: 
a   NaN
b     6
c     4
d   NaN
dtype: float64

以下是我想要的结果:

In[117] c
Out[117]: 
a    1
b    6
c    4
d    5
dtype: int64

有一种聪明的方法吗?

2 个答案:

答案 0 :(得分:1)

使用update和嵌套add,这应该会给你想要的输出。我已经在ipython中对它进行了测试,但它确实有效。

d = {'d': 5, 'b': 3, 'c': 2, 'a': 1}

e = {'b': 3, 'c': 2}

转换为系列

ds=pd.Series(d)

es=pd.Series(e)

**ds.update(ds.add(es))**

ds
Out[49]: 
a    1
b    6
c    4
d    5
dtype: int64

答案 1 :(得分:1)

>>> a.add(b, fill_value=0)
a    1
b    6
c    4
d    5
dtype: float64