sql >> Base de Datos >  >> RDS >> Mysql

Replicando GROUP_CONCAT para pandas.DataFrame

Haz lo siguiente:

df.groupby('team').apply(lambda x: ','.join(x.user))

para obtener una Series de cadenas o

df.groupby('team').apply(lambda x: list(x.user))

para obtener una Series de list s de cuerdas.

Así es como se ven los resultados:

In [33]: df.groupby('team').apply(lambda x: ', '.join(x.user))
Out[33]:
team
a       elmer, daffy, bugs, foghorn, goofy, marvin
b                               dawg, speedy, pepe
c                                   petunia, porky
dtype: object

In [34]: df.groupby('team').apply(lambda x: list(x.user))
Out[34]:
team
a       [elmer, daffy, bugs, foghorn, goofy, marvin]
b                               [dawg, speedy, pepe]
c                                   [petunia, porky]
dtype: object

Tenga en cuenta que, en general, cualquier otra operación en este tipo de Series serán lentos y generalmente se desalientan. Si hay otra forma de agregar sin poner una list dentro de una Series debería considerar usar ese enfoque en su lugar.