Python中pandas刪除數(shù)據(jù)表中的重復(fù)值的實現(xiàn)
Python中刪除數(shù)據(jù)表中重復(fù)值的方法非常多,本文主要講解的是pandas中的drop_duplicates()方法去重。
引用pandas
import pandas as pd
若沒有pandas類包,通過pip install進行安裝。在終端中輸入:
pip install pandas
創(chuàng)建數(shù)據(jù)表:
date_range = pd.date_range(start='2025-01-01', periods=6) # 生成日期數(shù)據(jù) df = pd.DataFrame({'id': [1001, 1002, 1003, 1004, 1005, 1006], 'data': date_range, 'city': ['beijing', 'shanghai', 'beijing', 'Shengzhen', 'wuhan', 'beijing'], 'price': [23, 30, 23, 54, 26, 25]}, columns=['id', 'data', 'city', 'price'])
輸出結(jié)果為:
print(df)
通過輸出的數(shù)據(jù)表可以看出,city中第0行、第2行、第5行數(shù)據(jù)重復(fù),要想刪除重復(fù)數(shù)據(jù)的行,在pandas中可以使用drop_duplicates()函數(shù)進行刪除。
drop_duplicates()函數(shù)說明:
來源于frame.py,主要參數(shù)說明如下:
subset:表示要去重的列名,默認為None。
keep:first、last、False;first表示保留首次出現(xiàn)的數(shù)據(jù),last表示保留最后一個數(shù)據(jù),F(xiàn)alse表示重復(fù)的數(shù)據(jù)全部不留。
inplace:True、False;True表示基于原數(shù)據(jù)表進行修改,F(xiàn)alse表示去重后生成一個新的copy對象。
例:
# 在原表中刪除city中重復(fù)的內(nèi)容,并保留首次出現(xiàn)的數(shù)據(jù) df.drop_duplicates(subset=['city'],keep='first',inplace=True)
輸入結(jié)果為:
保留了第0行,刪除第2行、第5行的數(shù)據(jù)。以此類推:當keep=last時,將保留第5行數(shù)據(jù),當keep=False時,刪除第0行、第2行、第5行數(shù)據(jù)。
上述為inplace=True時,在原數(shù)據(jù)表df表中對數(shù)據(jù)進行了更改。
當inplace=False時,程序?qū)opy一個新的數(shù)據(jù)表,在新copy的數(shù)據(jù)表中進行刪除,不會影響原表的數(shù)據(jù)。
例:
df.drop_duplicates(subset=['city'],keep='first',inplace=False) print(df)
此時輸出的df數(shù)據(jù)表結(jié)果為:
df數(shù)據(jù)表中的數(shù)據(jù)沒有發(fā)生變化,表示此時修改的對象非df數(shù)據(jù)表。
# 刪除df數(shù)據(jù)表city列中重復(fù)的數(shù)據(jù),并賦值值給df2 df2 = df.drop_duplicates(subset=['city'],keep='first',inplace=False) print(df2)
此時輸出的df2數(shù)據(jù)表結(jié)果為:
從上述結(jié)果看出,當inplace=False時,程序?qū)opy一個新的數(shù)據(jù)表,在新copy的數(shù)據(jù)表中對重復(fù)的數(shù)據(jù)進行刪除。
補充說明:
在pandas中還有一個drop_duplicates(),該方法來源于series.py。使用時會生成一個新的數(shù)據(jù)表,在使用時inplace不能為True,否則會返回None。
例:
df3 = df['city'].drop_duplicates(keep='first',inplace=False)
輸出結(jié)果為:
到此這篇關(guān)于Python中pandas刪除數(shù)據(jù)表中的重復(fù)值的文章就介紹到這了,更多相關(guān)pandas刪除重復(fù)值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django零基礎(chǔ)入門之自定義過濾器及模板中的使用
這篇文章主要介紹了Django零基礎(chǔ)入門之自定義過濾器及模板中的使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09如何使用Python修改matplotlib.pyplot.colorbar的位置以對齊主圖
使用matplotlib.colors模塊可以完成大多數(shù)常見的任務(wù),下面這篇文章主要給大家介紹了關(guān)于如何使用Python修改matplotlib.pyplot.colorbar的位置以對齊主圖的相關(guān)資料,需要的朋友可以參考下2022-07-07Python .py生成.pyd文件并打包.exe 的注意事項說明
這篇文章主要介紹了Python .py生成.pyd文件并打包.exe 的注意事項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03關(guān)于torch.optim的靈活使用詳解(包括重寫SGD,加上L1正則)
今天小編就為大家分享一篇關(guān)于torch.optim的靈活使用詳解(包括重寫SGD,加上L1正則),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python操作MongoDb數(shù)據(jù)庫流程詳解
這篇文章主要介紹了Python操作MongoDb數(shù)據(jù)庫流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03