sql >> Databáze >  >> RDS >> Mysql

Replikace GROUP_CONCAT pro pandas.DataFrame

Proveďte následující:

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

získat Series řetězců nebo

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

získat Series ze list s řetězců.

Takto vypadají výsledky:

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

Všimněte si, že obecně jakékoli další operace na těchto typech Series budou pomalé a obecně se od nich odrazuje. Pokud existuje jiný způsob agregace bez uvedení list uvnitř Series měli byste zvážit použití tohoto přístupu.



  1. Uložená procedura, která exportuje data do souborů csv, exportuje pouze do jednoho souboru

  2. SQL Fuzzy Matching

  3. Převeďte MySQL do XML pomocí PHP

  4. uložit seznam<třída modelu> do sqlite