Вы соединены вдоль оси неправильно . здесь вы использовали ось столбец , тогда как вы хотите объединить по оси index :
>>> pd.concat([df1, df2], <b>axis='rows'</b>)
col1 col2 col3
0 aa aa NaN
1 bb bb NaN
0 NaN cc dd
Таким образом, либо указав axis=0
, axis='rows'
, axis='index'
, либо полностью его опуская, столбцы "сгруппированы", и вы объедините "вертикально".