合并共享一个单元格值的 Python 3 数据帧行,将另一个值放入逗号分隔的数组中



我有一个 Python 数据帧,其中的电子邮件是重复的。 我想找到所有重复项并合并它们,以便电子邮件中附加一系列帐号。我还想在合并列中保留第 3 列。

AccountID Email                    Quality_3
1         blue@somedomain.com      High
2         red@somedomain.com
3         blue@somedomain.com      
4         green@somedomain.com     Medium
5         blue@somedomain.com
6         red@somedomain.com         
7         blue@somedomain.com
8         green@somedomain.com

AccountID         Email                  Quality_3
1, 3, 5, 7        blue@somedomain.com    High
2, 6              red@somedomain.com
4, 8              green@somedomain.com   Medium

我正在查看左右连接,但我似乎无法弄清楚。

试试这个:

df_new=(df.astype(str).groupby('Email')['AccountID','Quality_3']
    .agg({'AccountID':lambda x: ','.join(x),'Quality_3':'first'}).reset_index())
print(df_new)
                  Email AccountID Quality_3
0   blue@somedomain.com   1,3,5,7      High
1  green@somedomain.com       4,8    Medium
2    red@somedomain.com       2,6      None

相关内容

最新更新