Python:如何删除重复项?

时间:2018-11-16 10:53:04

标签: python pandas

我有一个如下数据框

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

4 个答案:

答案 0 :(得分:2)

使用drop_duplicates方法

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

“ Y”列仅包含0-1吗?在这种情况下,您可以尝试以下操作:

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

答案 3 :(得分:0)

尝试一下:

In [2358]: df.groupby('Name')['Y'].max()
Out[2358]: 
Name
A    1
B    0
C    1
Name: Y, dtype: int64