你如何合并2系列在熊猫

问题描述:

我有以下几点:你如何合并2系列在熊猫

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

NB:没有指标重叠

+0

在这种情况下,你可以'concat':'pd.concat([s1,s2])'但是你在一个真正的合并后?像's1.to_frame()。merge(s2.to_frame(),how ='outer')'?这里的问题是该系列将不会有列名,除非您添加一个 – EdChum

+0

真正的合并是什么意思? –

+0

不只是想让1个大系列合并2. –

解决方案运作良好,但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 

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

pd.concat([s1, s2]) 

结果:从@EdChum

A 1 
B 2 
C 3 
D 4 
dtype: int64