首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python、Pandas、DataFrame,添加与SQL GROUP_CONCAT等效的列

Python、Pandas、DataFrame,添加与SQL GROUP_CONCAT等效的列
EN

Stack Overflow用户
提问于 2021-01-09 18:54:56
回答 2查看 43关注 0票数 1

我的问题与这里问的但没有回答的问题非常相似Replicating GROUP_CONCAT for pandas.DataFrame

我有一个熊猫DataFame,我想将它组合成一个数据帧

代码语言:javascript
复制
+------+---------+  
| team | user    |  
+------+---------+  
| A    | elmer   |  
| A    | daffy   |  
| A    | bugs    |  
| B    | dawg    |  
| A    | foghorn |  
+------+---------+  

成为

代码语言:javascript
复制
+------+---------------------------------------+  
| team | group_concat(user)                    |  
+------+---------------------------------------+  
| A    | elmer,daffy,bugs,foghorn              |  
| B    | dawg                                  | 
+------+---------------------------------------+  

在原始主题中,可以通过以下任意一种方式来实现:

代码语言:javascript
复制
df.groupby('team').apply(lambda x: ','.join(x.user))
df.groupby('team').apply(lambda x: list(x.user))
df.groupby('team').agg({'user' : lambda x: ', '.join(x)})

但是结果对象不再是Pandas Dataframe。如何将原始Pandas DataFrame中的GROUP_CONCAT结果作为新列获取?

干杯

EN

回答 2

Stack Overflow用户

发布于 2021-01-09 19:08:13

让我们分解一下下面的代码:

首先,groupby team和,use apply on user to join其元素使用,

  • Then,重置索引,并且<代码>D12生成的数据帧(axis=1,引用列而不是行)H214F215

代码语言:javascript
复制
res = (df.groupby('team')['user']
       .apply(lambda x: ','.join(str(i) for i in x))).reset_index().rename({'user':'group_concat(user)'},axis=1)

输出:

代码语言:javascript
复制
  team        group_concat(user)
0    A  elmer,daffy,bugs,foghorn
1    B                      dawg
票数 0
EN

Stack Overflow用户

发布于 2021-01-09 19:12:46

您可以在grouping之后应用listjoin,然后使用reset_index获取数据帧。

代码语言:javascript
复制
output_df = df.groupby('team')['user'].apply(lambda x: ",".join(list(x))).reset_index()
output_df.rename(columns={'user': 'group_concat(user)'})

    team    group_concat(user)
0   A   elmer,daffy,bugs,foghorn
1   B   dawg
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65641808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档