溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解pandas使用drop_duplicates去除DataFrame重復(fù)項(xiàng)參數(shù)

發(fā)布時(shí)間:2020-10-21 15:40:03 來(lái)源:腳本之家 閱讀:240 作者:OraYang 欄目:開發(fā)技術(shù)

Pandas之drop_duplicates:去除重復(fù)項(xiàng)

方法

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)

參數(shù)

這個(gè)drop_duplicate方法是對(duì)DataFrame格式的數(shù)據(jù),去除特定列下面的重復(fù)行。返回DataFrame格式的數(shù)據(jù)。

  • subset : column label or sequence of labels, optional 用來(lái)指定特定的列,默認(rèn)所有列
  • keep : {‘first', ‘last', False}, default ‘first' 刪除重復(fù)項(xiàng)并保留第一次出現(xiàn)的項(xiàng)
  • inplace : boolean, default False 是直接在原來(lái)數(shù)據(jù)上修改還是保留一個(gè)副本

DataFrame中存在重復(fù)的行或者幾行中某幾列的值重復(fù),這時(shí)候需要去掉重復(fù)行,示例如下:

data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)

代碼中subset對(duì)應(yīng)的值是列名,表示只考慮這兩列,將這兩列對(duì)應(yīng)值相同的行進(jìn)行去重。默認(rèn)值為subset=None表示考慮所有列。

keep='first'表示保留第一次出現(xiàn)的重復(fù)行,是默認(rèn)值。keep另外兩個(gè)取值為"last"和False,分別表示保留最后一次出現(xiàn)的重復(fù)行和去除所有重復(fù)行。

inplace=True表示直接在原來(lái)的DataFrame上刪除重復(fù)項(xiàng),而默認(rèn)值False表示生成一個(gè)副本。

將副本賦值給dataframe:

data=data.drop_duplicates(subset=None,keep='first',inplace=False)

這一行代碼與文章開頭提到的那行代碼效果等效,但是如果在該DataFrame上新增一列:

data['extra']=test_data['item_price_level']

就會(huì)報(bào)如下錯(cuò)誤:

SettingWithCopyWarning:  A value is trying to be set on a copy of a slice from a DataFrame. 

所以如果想對(duì)DataFrame去重,最好采用開頭提到的那行代碼。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI