Одна идея - создать по умолчанию RangeIndex
first:
df3 = pd.concat([df1.reset_index(drop=True),
df2.reset_index(drop=True)], axis=1)
df1.reset_index(drop=True, inplace=True)
df2.reset_index(drop=True, inplace=True)
for c in df2:
df1[c] = df2[c]
Для всех типов столбцов (например, integer
s) используйте numpy.hstack
:
c = df1.columns.append(df2.columns)
df = pd.DataFrame(np.hstack((df1.values, df2.values)), columns=c)