首页 > 解决方案 > 将所有重复行的列更改为相同的值

问题描述

在这里,我有一个属于同一电子邮件的多个 ID 的 df。我想将每个唯一电子邮件的所有重复电子邮件 ID 更改为相同,并且不删除任何行。

样本 DF:

 ID      Email
 1    a@gmail.com
 2    a@gmail.com
 3    b@gmail.com
 4    c@gmail.com
 5    c@gmail.com

渴望DF:

 ID      Email
 1    a@gmail.com
 1    a@gmail.com
 3    b@gmail.com
 4    c@gmail.com
 4    c@gmail.com

标签: pythonpandasnumpy

解决方案


IIUC

df['ID']=df.groupby('Email').ID.transform('first')
df
Out[195]: 
   ID        Email
0   1  a@gmail.com
1   1  a@gmail.com
2   3  b@gmail.com
3   4  c@gmail.com
4   4  c@gmail.com

推荐阅读