Я думаю, что вы можете сделать это,
Настройте фрейм данных
df = pd.DataFrame ({'h1' : ['a1','a2','a3'], 'h2' : ['5','4','3']})
Соедините два столбца
df['h3'] = df[['h1', 'h2']].apply(lambda x: ':'.join(x), axis=1)
Вы получите этот вывод
![enter image description here](https://i.stack.imgur.com/SSfQS.png)
РЕДАКТИРОВАТЬ расширение этого примера
Присоединиться к любому количеству столбцов
Для любого количества столбцов удалите конкретную ссылку на столбцы
df['h3'] = df.apply(lambda x: ':'.join(x), axis=1)
Это объединит все значения в столбцах
Преобразование чисел в строку
Чтобы объединение работало, преобразуйте целые числа в строку таким образом
df['h2'] = df['h2'].apply(str)
Мы видим в этом расширенном примере
Создание кадра данных
df = pd.DataFrame ({'h1' : ['a1','a2','a3'],
'h2' : [5,4,3],
'hx' : ['X','Y','Z'],
'hy' : ['A','B','C'] })
Примечание столбец h2 теперь является целым числом
преобразовать h2 в строку
df['h2'] = df['h2'].apply(str)
Применить объединение
df['h3'] = df.apply(lambda x: ':'.join(x), axis=1)
производит следующее
![enter image description here](https://i.stack.imgur.com/StpOj.png)