Python機器學習(八十七)Pandas 去除重復


去除重復數據是一項常見操作,Pandas中,可以使用drop_duplicates方法。

電影數據集沒有重復的行,我們來制造一些重復行。

temp_df = movies_df.append(movies_df)

temp_df.shape

輸出

(2000, 11)

append()將返回一個副本,不影響原始數據DataFrame。使用.shape屬性查看形狀,可以看到數據增加了一倍。

接下來刪除重復數據:

temp_df2 = temp_df.drop_duplicates()

temp_df2.shape

輸出

(1000, 11)

append()一樣,此處drop_duplicate()方法也將返回副本。

如果想直接在原數據上修改,可以指定參數:inplace=True,Pandas的許多方法都可使用inplace參數。

temp_df.drop_duplicates(inplace=True)

temp_df被直接修改,里面的重復項被去除。

drop_duplicate()的另一個重要參數是keep,它有三個可能的選項:

first: (默認)刪除重復項,但保留的是首次出現的項。
last: 刪除重復項,但保留的是最后出現的項。
False: 刪除重復項,不保留任何重復項。

前面的示例中沒有定義keep參數,所以默認值為first。這意味着如果兩行是相同的,Pandas將刪除第二行保留第一行。使用last效果相反: 第一行被刪除保留第二行。False值會刪除所有的重復項,如果兩行是相同的,這兩行都將被刪除。

temp_df = movies_df.append(movies_df)  # make a new copy

temp_df.drop_duplicates(inplace=True, keep=False)

temp_df.shape

輸出

(0, 11)

因為所有行都是重復的,所以keep=False將刪除所有行。


免責聲明!

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



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