Python:如何用重复项删除重复项



我有一个类似以下的数据帧

df
Name  Y
0     A    1
1     A    0
2     B    0
3     B    0
5     C    1

我想删除Name的副本,并保留具有Y=1的副本,例如:

df
Name  Y
0     A    1
1     B    0
2     C    1

使用drop_duplicates方法,

df.sort_values('Y', ascending= False).drop_duplicates(subset=['Name'])

groupby+max

假设您的Y系列仅由01值组成:

res = df.groupby('Name', as_index=False)['Y'].max()
print(res)
Name  Y
0    A  1
1    B  0
2    C  1

"Y"列是否只包含0-1?在这种情况下,您可以尝试以下操作:

df = df.sort_values(['Y'], ascending= False)
df = df.drop_duplicates(['Name'])

最新更新