溫馨提示×

溫馨提示×

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

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

如何使用python pandas dataframe去重函數(shù)

發(fā)布時間:2020-07-20 13:48:17 來源:億速云 閱讀:394 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是如何使用python pandas dataframe去重函數(shù),文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

今天筆者想對pandas中的行進行去重操作,找了好久,才找到相關(guān)的函數(shù)

先看一個小例子

from pandas import Series, DataFrame
 
data = DataFrame({'k': [1, 1, 2, 2]})
 
print data
 
IsDuplicated = data.duplicated()
 
print IsDuplicated
print type(IsDuplicated)
 
data = data.drop_duplicates()
print data

執(zhí)行結(jié)果是:

   k
0  1
1  1
2  2
3  2

0    False
1     True
2    False
3     True

   k
0  1
2  2

DataFrame的duplicated方法返回一個布爾型Series,表示各行是否重復(fù)行。

而 drop_duplicates方法,它用于返回一個移除了重復(fù)行的DataFrame

這兩個方法會判斷全部列,你也可以指定部分列進行重復(fù)項判段。

drop_duplicates根據(jù)數(shù)據(jù)的不同情況及處理數(shù)據(jù)的不同需求,通常會分為兩種情況,一種是去除完全重復(fù)的行數(shù)據(jù),另一種是去除某幾列重復(fù)的行數(shù)據(jù),就這兩種情況可用下面的代碼進行處理。

1. 去除完全重復(fù)的行數(shù)據(jù)

data.drop_duplicates(inplace=True)

2. 去除某幾列重復(fù)的行數(shù)據(jù)

data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
  • subset: 列名,可選,默認為None
    • keep: {‘first', ‘last', False}, 默認值 ‘first'
    • first: 保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行。
    • last: 刪除重復(fù)項,除了最后一次出現(xiàn)。
  • False: 刪除所有重復(fù)項。
  • inplace:布爾值,默認為False,是否直接在原數(shù)據(jù)上刪除重復(fù)項或刪除重復(fù)項后返回副本。(inplace=True表示直接在原來的DataFrame上刪除重復(fù)項,而默認值False表示生成一個副本。)
     

例如,希望對名字為k2的列進行去重,

data.drop_duplicates(['k2'])

看完這篇關(guān)于如何使用python pandas dataframe去重函數(shù)的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節(jié)

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

AI