如何将两个pandas Series连接成一个具有交错值的pandas系列?

时间:2016-09-02 13:12:54

标签: python pandas numpy

我有两只熊猫。系列......

import pandas as pd
import numpy as np

length = 5
s1 = pd.Series( [1]*length ) # [1, 1, 1, 1, 1]
s2 = pd.Series( [2]*length ) # [2, 2, 2, 2, 2]

...我希望将它们连接在一起,并使用前两个系列中的交错值。 类似的东西:[1,2,1,2,1,2,1,2,1,2]

3 个答案:

答案 0 :(得分:5)

使用np.column_stack

In[27]:pd.Series(np.column_stack((s1,s2)).flatten())
Out[27]: 
0    1
1    2
2    1
3    2
4    1
5    2
6    1
7    2
8    1
9    2
dtype: int64

答案 1 :(得分:3)

此处使用NumPy stackingnp.vstack -

pd.Series(np.vstack((s1,s2)).ravel('F'))

答案 2 :(得分:2)

我们在这里:

s1.index = range(0,len(s1)*2,2)
s2.index = range(1,len(s2)*2,2)
interleaved = pd.concat([s1,s2]).sort_index()

idx  values
0    1
1    2
2    1
3    2
4    1
5    2
6    1
7    2
8    1
9    2