欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中pandas刪除數(shù)據(jù)表中的重復(fù)值的實現(xiàn)

 更新時間:2025年09月01日 11:04:35   作者:蔣亦森  
本文介紹pandas的drop_duplicates()方法刪除數(shù)據(jù)表重復(fù)值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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)文章

最新評論