Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Replicando GROUP_CONCAT para pandas.DataFrame


Faça o seguinte:
df.groupby('team').apply(lambda x: ','.join(x.user))

para obter uma Series de cordas ou
df.groupby('team').apply(lambda x: list(x.user))

para obter uma Series de list s de cordas.

Veja como são os 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

Observe que, em geral, quaisquer outras operações nesses tipos de Series serão lentos e geralmente são desencorajados. Se houver outra maneira de agregar sem colocar uma list dentro de uma Series você deve considerar usar essa abordagem em vez disso.