我有以下内容:
s1 = pd.Series([1, 2], index=['A', 'B'])
s2 = pd.Series([3, 4], index=['C', 'D'])
我想将s1
和s2
结合起来创建s3
,这是:
s3 = pd.Series([1, 2, 3, 4], index=['A', 'B', 'C', 'D'])
注意:没有索引重叠
答案 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)
答案 2 :(得分:1)
如果没有索引重叠,则可以使用为系列定义的附加函数使用默认值
s1.append(s2)
应返回:
A 1
B 2
C 3
D 4
dtype: int64