有什么方法可以将多个字符串连接起来进行分组?

问题描述 投票:0回答:1

我有以下df。

Name  Role     Company     [other columns]
John  Admin    GM
John  Director Kodak
John  Partner  McDonalds
Mark  Director Gerdau
Mark  Partner  Kibon

我想把它变成:

Name    Companies                                              [other columns]
John    GM (Admin), Kodak (Director), McDonalds (Partner)
Mark    Gerdau (Director), Kibon (Partner

我想答案就在groupby的某个地方。这个问题 就快到了,然而我需要找到一种方法来实现,迭代两列,并把括号放进去。

谁能给我指点一下?

python pandas pandas-groupby
1个回答
1
投票

IIUC assigngroupby

df1 = df.assign(companies=df['Company'] + ' (' + df['Role'] + ')')\
                                            .groupby('Name')['companies'].agg(','.join)

print(df1)

Name
John    GM (Admin),Kodak (Director),McDonalds (Partner)
Mark                  Gerdau (Director),Kibon (Partner)
Name: companies, dtype: object
© www.soinside.com 2019 - 2024. All rights reserved.