[英]Python: how to drop duplicates with duplicates?
我有一個如下的數據框
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
系列僅包含0
和1
值:
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'])
嘗試這個:
In [2358]: df.groupby('Name')['Y'].max()
Out[2358]:
Name
A 1
B 0
C 1
Name: Y, dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.