在pandas中加入或聚合属于同一组的字符串

tim*_*123 1 python string dataframe pandas

给定这样的CSV,我如何组合来自同一列的信息?

First,Last,Email,Group
Tim,Elfelt,tim@domain.com,Information Systems
Tim,Elfelt,tim@domain.com,Technology Training
Run Code Online (Sandbox Code Playgroud)

应该输出这个,基于组合电子邮件列

First,Last,Email,Group
Tim,Elfelt,tim@domain.com,Information Systems;Technology Training
Run Code Online (Sandbox Code Playgroud)

编辑:感谢coldspeed,这里的工作解决方案:

import pandas as pd
data = pd.read_csv('combinedemails.csv', encoding='utf-8',
                   usecols=['First', 'Last', 'Email', 'Group', 'List']).groupby(['First', 'Last', 'Email']).Group.apply(
    '; '.join).reset_index(name='Group')

data.to_csv('output.csv', sep=',', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 5

你可以使用groupby+ str.join:

df.groupby(['First', 'Last', 'Email']).Group.apply('; '.join).reset_index(name='Group')

  First    Last           Email                                     Group
0   Tim  Elfelt  tim@domain.com  Information Systems; Technology Training
Run Code Online (Sandbox Code Playgroud)