Как присоединиться к двум сериям панд в единую с чередующимися значениями?

У меня есть две панды. Серии …

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]

Использование 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 работе 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 

Вот один из них, используя np.vstack , np.vstack

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

Мы здесь:

 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