如何在熊猫中合并2系列

时间:2017-02-28 16:52:42

标签: python pandas series

我有以下内容:

s1 = pd.Series([1, 2], index=['A', 'B'])

s2 = pd.Series([3, 4], index=['C', 'D'])

我想将s1s2结合起来创建s3,这是:

s3 = pd.Series([1, 2, 3, 4], index=['A', 'B', 'C', 'D'])

注意:没有索引重叠

3 个答案:

答案 0 :(得分:3)

来自@EdChum的解决方案效果很好,但是当您不需要担心索引对齐时,numpy堆叠会更快。

In [18]: pd.DataFrame( np.hstack((s1.values, s2.values))  , index=np.hstack((s1.index.values, s2.index.values)))
Out[18]: 
   0
A  1
B  2
C  3
D  4

In [19]: %timeit pd.concat([s1, s2])

1000 loops, best of 3: 1.31 ms per loop

In [21]: %timeit pd.DataFrame( np.hstack((s1.values, s2.values)  ), index=np.hstack((s1.index.values, s2.index.values)))

10000 loops, best of 3: 214 µs per loop

答案 1 :(得分:1)

您可以使用concat(),它会自动执行外部联接:

pd.concat([s1, s2])

结果:

A    1
B    2
C    3
D    4
dtype: int64

答案 2 :(得分:1)

如果没有索引重叠,则可以使用为系列定义的附加函数使用默认值

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.append.html#pandas.Series.append

s1.append(s2) 

应返回:

A    1
B    2
C    3
D    4
dtype: int64