Панды =
проверка присваивания как index
, так и columns
.В вашем случае столбцы совпадают, но индекс отличается.Поэтому он присваивает все NaN
.Чтобы игнорировать индекс и столбцы, вам нужно присвоить из numpy ndarray, например:
df_prog['Kol1_1Y'] = df5['Kol1_1Y'].values
df_prog['Kol2_1Y'] = df5['Kol2_1Y'].values
df_prog['Kol1_3M'] = df5['Kol1_3M'].values
df_prog['Kol2_3M'] = df5['Kol2_3M'].values