sql >> Database >  >> RDS >> Mysql

GROUP_CONCAT repliceren voor panda's.DataFrame

Doe het volgende:

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

om een ​​Series . te krijgen van strings of

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

om een ​​Series . te krijgen van list s van strings.

Zo zien de resultaten eruit:

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

Merk op dat in het algemeen alle verdere bewerkingen op dit soort Series zullen traag zijn en worden over het algemeen ontmoedigd. Als er een andere manier is om te aggregeren zonder een list binnenkant van een Series je zou in plaats daarvan moeten overwegen om die benadering te gebruiken.



  1. SQL-controle in SQL Developer

  2. Django DB-niveau standaardwaarde voor een kolom

  3. SQL Server-tabellen:wat is het verschil tussen @, # en ##?

  4. SQL Server-draaitabel met aggregaten van meerdere kolommen