我有一个 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