我想将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
有一种聪明的方法吗?
答案 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