你如何在熊猫中合并2系列

问题描述 投票:2回答:3

我有以下内容:

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

注意:没有索引重叠

python pandas series
3个回答
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
投票

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

pd.concat([s1, s2])

结果:

A    1
B    2
C    3
D    4
dtype: int64

1
投票

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

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
© www.soinside.com 2019 - 2024. All rights reserved.