I have below code
import pandas as pd
df1 = pd.DataFrame({'a':[1,2,3],'y':[7,8,9]})
df2 = pd.DataFrame({'b':[10,11,12],'x':[13,14,15],'y':[16,17,18]})
pd.DataFrame(np.vstack([df1, df2]), columns=df1.columns)
Above code generates error. I expect that final dataframe will be all columns from df1
and df2
. Therefore will be missing values as column names are different.
Is there any way to achieve this?
1
IIUC use:
df = pd.concat([df1.set_axis(range(len(df1.columns)), axis=1),
df2.set_axis(range(len(df2.columns)), axis=1)])
print (df)
0 1 2
0 1 7 NaN
1 2 8 NaN
2 3 9 NaN
0 10 13 16.0
1 11 14 17.0
2 12 15 18.0