Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Replikowanie GROUP_CONCAT dla pandas.DataFrame

Wykonaj następujące czynności:

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

aby otrzymać Series ciągów lub

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

aby otrzymać Series z list s ciągów.

Oto jak wyglądają wyniki:

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

Zwróć uwagę, że ogólnie wszelkie dalsze operacje na tych typach Series będą powolne i generalnie są zniechęceni. Jeśli istnieje inny sposób agregacji bez umieszczania list wewnątrz Series powinieneś rozważyć użycie tego podejścia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sfinks i czy miałeś na myśli...? sugestie pomysł. Czy to zadziała?

  2. MySQL Group By funkcjonalność w różnych wersjach

  3. Jak wyłączyć innodb w mysql?

  4. ciągle pojawia się błąd składni (php / mysql)

  5. Porządkowanie pozycji z pasującymi tagami według liczby pasujących tagów