簡體   English   中英

Python:如何刪除重復項?

[英]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系列僅包含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'])

嘗試這個:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM