Suppose I have two dataframes:
>> df1
   0  1  2
0  a  b  c
1  d  e  f
>> df2
   0  1  2
0  A  B  C
1  D  E  F
How can I interleave the rows? i.e. get this:
>> interleaved_df
   0  1  2
0  a  b  c
1  A  B  C
2  d  e  f
3  D  E  F
(Note my real DFs have identical columns, but not the same number of rows).
What I've tried
inspired by this question (very similar, but asks on columns):
import pandas as pd
from itertools import chain, zip_longest
df1 = pd.DataFrame([['a','b','c'], ['d','e','f']])  
df2 = pd.DataFrame([['A','B','C'], ['D','E','F']])
concat_df = pd.concat([df1,df2])
new_index = chain.from_iterable(zip_longest(df1.index, df2.index))
# new_index now holds the interleaved row indices
interleaved_df = concat_df.reindex(new_index)
ValueError: cannot reindex from a duplicate axis
The last call fails because df1 and df2 have some identical index values (which is also the case with my real DFs).
Any ideas?
 
     
     
     
     
     
    