Pandas groupby con unión de delimitador

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 CatTiger B BallBat 

Cuál es el problema aquí ?

Gracias,

AP

Alternativamente puedes hacerlo de esta manera:

 In [48]: df.groupby('col')['val'].agg('-'.join) Out[48]: col A Cat-Tiger B Ball-Bat Name: val, dtype: object 

sólo inténtalo

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