Pandas groupby con delimitador unirse

Intenté usar groupby para agrupar filas con múltiples valores.

col val
A  Cat
A  Tiger
B  Ball
B  Bat

import pandas as pd
df = pd.read_csv("Inputfile.txt", sep='\t')
group = df.groupby(['col'])['val'].sum()

tengo

A CatTiger
B BallBat

Quiero introducir un delimitador, para que mi salida se vea como

A Cat-Tiger
B Ball-Bat

Lo intenté,

group = df.groupby(['col'])['val'].sum().apply(lambda x: '-'.join(x))

esto rindió

A C-a-t-T-i-g-e-r
B B-a-l-l-B-a-t

Cuál es el problema aquí ?

Gracias,

AP

Respuestas a la pregunta(2)

Su respuesta a la pregunta