/ / Pandas groupby con delimitador se unen - python-3.x, pandas, pandas-groupby

Pandas groupby con delimiter join - python-3.x, pandas, pandas-groupby

Intenté usar groupby para agrupar filas con varios 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 dio lugar,

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

3 para la respuesta № 1

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

1 para la respuesta № 2

sólo inténtalo

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