I have multiple DataFrames
and they all have different sizes:
a
Header1 | Header2 | |
---|---|---|
111 | item1 | item2 |
112 | item3 | item4 |
a = pd.DataFrame({
'Header1': ['item1', 'item3'],
'Header2': ['item2', 'item4']
}).set_index(pd.Index([111, 112]))
b
Header3 | Header4 | |
---|---|---|
111 | item5 | item6 |
111 | item7 | item8 |
111 | item9 | item10 |
112 | item11 | item12 |
112 | item13 | item14 |
112 | item15 | item16 |
b = pd.DataFrame({
'Header3': ['item5', 'item7', 'item9', 'item11', 'item13', 'item15'],
'Header4': ['item6', 'item8', 'item10', 'item12', 'item14', 'item16']
}).set_index(pd.Index([111, 111, 111, 112, 112, 112]))
I would like to concatenate these two DataFrames like this:
c
Header1 | Header2 | Header3 | Header4 | |
---|---|---|---|---|
111 | item1 | item2 | item5 | item6 |
111 | - | - | item7 | item8 |
111 | - | - | item9 | item10 |
112 | item3 | item4 | item11 | item12 |
112 | - | - | item13 | item14 |
112 | - | - | item15 | item16 |
When I add rows into the smaller DataFrames I still don't know how to line up the rows like this.