[英]Drop Duplicates in a DataFrame where a column are identical and have near timestamps
[英]DATAFRAME: drop duplicates where column's values are equal for unique key
我想從 DF 中刪除重復項,其中列的值對於一個唯一鍵是相等的。 例子:
在:
KEY SYSTEM
TD-438426 AAA
TD-438426 BBB
TD-438426 AAA
TD-438709 BBB
TD-438709 BBB
TD-438750 CCC
TD-438750 CCC
TD-438750 CCC
TD-438874 AAA
TD-438874 BBB
出去:
KEY SYSTEM
TD-438426 AAA
TD-438426 BBB
TD-438709 BBB
TD-438750 CCC
TD-438874 AAA
TD-438874 BBB
PS 當然,我想捕捉一些異常。
在:
KEY TEST SYSTEM
TD-438426 ABC AAA
TD-438426 ABC BBB
出去:
KEY TEST SYSTEM
TD-438426 ABC AAA
TD-438426 ABC BBB
和
在:
KEY TEST SYSTEM
TD-438426 ABC AAA
TD-438426 CBA AAA
出去:
KEY TEST SYSTEM
TD-438426 ABC AAA
就像評論中提到的@mcsioni,你要找的是df.drop_duplicates()
此外,了解此方法的兩個 arguments 也很有用,即subset
和keep
。
例如,您只想保留KEY
列中的唯一值,並為每個唯一的KEY
保留第一個SYSTEM
值,您可以這樣做:
df.drop_duplicates(subset=['KEY'], keep='first')
如果您只是使用df.drop_duplicates()
而沒有任何 arguments,則子集將是所有列,這就是您想要的 output 所要求的。
編輯
要跟上您的新要求,請執行以下操作:
df.drop_duplicates(subset=['KEY', 'SYSTEM'], keep='first')
注意: keep
參數的默認行為是'first'
,但在使用像 pandas 這樣的高級庫時顯式使用也無妨。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.