Concatenating 2 dataframes vertically with empty row in middle

I have a multindex dataframe df1 as:

node    A1      A2
bkt     B1      B2
Month       
1       0.15    -0.83
2       0.06    -0.12


bs.columns
MultiIndex([( 'A1', 'B1'),
            ( 'A2',  'B2')],
       names=[node, 'bkt'])

and another similar multiindex dataframe df2 as:

node      A1    A2
bkt       B1    B2
Month       
1      -0.02    -0.15
2          0     0
3      -0.01    -0.01
4      -0.06    -0.11

I want to concat them vertically so that resulting dataframe df3 looks as following:

df3 = pd.concat([df1, df2], axis=0)

While concatenating I want to introduce 2 blank row between dataframes df1 and df2. In addition I want to introduce two strings Basis Mean and Basis P25 in df3 as shown below.

print(df3)

Basis Mean      
node    A1      A2
bkt     B1      B2
Month       
1       0.15    -0.83
2       0.06    -0.12

Basis P25       
node      A1    A2
bkt       B1    B2
Month       
1       -0.02   -0.15
2           0    0
3       -0.01   -0.01
4       -0.06   -0.11

I don't know whether there is anyway of doing the above.


Solution 1:

I don't think that that is an actual concatenation you are talking about.

The following could already do the trick:

print('Basis Mean')
print(df1.to_string())
print('\n')
print('Basis P25')
print(df2.to_string())