sql >> Databasteknik >  >> RDS >> Mysql

Replikerar GROUP_CONCAT för pandas.DataFrame

Gör följande:

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

för att få en Series av strängar eller

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

för att få en Series av list s av strängar.

Så här ser resultaten ut:

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

Observera att i allmänhet alla ytterligare operationer på dessa typer av Series kommer att vara långsam och är i allmänhet avskräckta. Om det finns ett annat sätt att aggregera utan att lägga en list inuti en Series du bör överväga att använda den metoden istället.



  1. Hur man krypterar en vy i SQL Server

  2. Hur man installerar den senaste MySQL 8 på Debian 10

  3. Hur man distribuerar Percona Distribution för PostgreSQL för hög tillgänglighet

  4. Är MySQL Connector/JDBC tråd säker?