你如何在 Pandas 中合并 2 系列

Sum*_*ena 5 python series pandas

我有以下几点:

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

s2 = pd.Series([3, 4], index=['C', 'D'])
Run Code Online (Sandbox Code Playgroud)

我想结合s1s2创建s3

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

注意:没有索引重叠

elc*_*ato 8

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

pd.concat([s1, s2])
Run Code Online (Sandbox Code Playgroud)

结果:

A    1
B    2
C    3
D    4
dtype: int64
Run Code Online (Sandbox Code Playgroud)


clo*_*ker 3

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

\n\n
In [18]: pd.DataFrame( np.hstack((s1.values, s2.values))  , index=np.hstack((s1.index.values, s2.index.values)))\nOut[18]: \n   0\nA  1\nB  2\nC  3\nD  4\n\nIn [19]: %timeit pd.concat([s1, s2])\n\n1000 loops, best of 3: 1.31 ms per loop\n\nIn [21]: %timeit pd.DataFrame( np.hstack((s1.values, s2.values)  ), index=np.hstack((s1.index.values, s2.index.values)))\n\n10000 loops, best of 3: 214 \xc2\xb5s per loop\n
Run Code Online (Sandbox Code Playgroud)\n