python - 常用數據清洗方法-重復項處理


      在數據的處理過程中,一般都需要進行數據清洗工作,如數據集是否存在重復,是否存在缺失,數據是否具有完整性和一致性,數據中是否存在異常值等.發現諸如此類的問題都需要針對性地處理,下面我們一起學習常用的數據清洗方法.

1.重復觀測處理

重復觀測:指觀測行存在重復的現象,重復觀測的存在會影響數據分析和挖掘結果的准確性,所以在數據分析和建模之前需要進行觀測的重復性檢驗,如果存在重復觀測,

還需要進行重復項的刪除.

    在數據的收集過程中,可能會存在重復觀測的出現,例如通過網絡爬蟲,就比較容易產生重復數據.如下表,是通過爬蟲獲得某APP市場中電商類APP的下載量數據(部分)

 

 通過觀測可以看出唯品會和當當出現了三次.如果收集上來的不是10行,而是10萬行,甚至更多是,就無法通過肉眼的方式檢測數據是否存在重復項了.

下面我們看用python怎么來處理重復項的檢查,以及如何刪除數據項中的重復項

代碼:

import pandas as pd
df = pd.read_excel(r'D:\data_test04.xlsx')
print('數據集是否存在重復觀測: \n',any(df.duplicated()))

out:

數據集是否存在重復觀測: 
 True

代碼就是簡單的兩行就處理好了

可以看出檢測數據集的記錄是否存在重復,使用duplicated (英文單詞的意思就是重復,復制的意思)方法,但是該方法返回的是數據集每一行的檢驗結果,為了能夠得到最直接的結果,可以使用any函數,該函數表示的是在多個條件判斷中,只有一個條件為True,則any函數的結果就為True.正如結果所示,any函數的運用返回True值,說明

該數據集是存在重復觀測的.

刪除數據集中的重復觀測:

df.drop_duplicates(inplace = True)
df

 

得出的結果如上圖所示,原先的10行在派出重復項后得到7行,被刪除的行號為:3,8和9.該方法中又有inplace參數,設置為True就表示直接在原始數據集上做操作.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM