如何在 Pandas 中合并 2 个系列

How do you Merge 2 Series in Pandas

我有以下内容:

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'])

注意:没有索引重叠

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

pd.concat([s1, s2])

结果:

A    1
B    2
C    3
D    4
dtype: int64

@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

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

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

s1.append(s2) 

应该return:

A    1
B    2
C    3
D    4
dtype: int64