繁体   English   中英

添加两个具有不同索引的pandas系列对象的惯用方式

[英]Idiomatic way to add two pandas Series objects with different indices

我要添加两个Series对象:

s1 = Series([1,1], index=['a', 'b'])

s2 = Series([2.2], index=['x', 'y'])

当我添加它们时,我得到一个具有NaN值的4个元素的系列,但是我想要的是[s1.a + s2.x, s1.b + s2.y] 这似乎应该可行,因为索引具有顺序。

我可以从pd.Series(s1.values + s2.values)得到想要的pd.Series(s1.values + s2.values) ,但是我想知道是否有一个已经以这种方式对Series对象进行操作并返回序列的函数,而不必下降到numpy。

取决于您要的最终索引是什么:

In [20]:

s1+s2.values
Out[20]:
a    3
b    3
dtype: int64
In [21]:

s2+s1.values
Out[21]:
x    3
y    3
dtype: int64

甚至是multiindex

In [22]:
s3=s2+s1.values
s3.index=pd.MultiIndex.from_tuples(zip(s1.index, s2.index))
s3
Out[22]:
a  x    3
b  y    3
dtype: int64

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM