def dyna_join(df, positions):
    return pd.concat([df, df.iloc[:, (positions)].apply(','.join, 1).rename
        ('new_col')], axis=1)
dyna_join(df, [0, -2])
Динамически добавлять столбцы в кадр данных pandas