1. 程式人生 > 程式設計 >python pandas dataframe 去重函式的具體使用

python pandas dataframe 去重函式的具體使用

今天筆者想對pandas中的行進行去重操作,找了好久,才找到相關的函式

先看一個小例子

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

執行結果是:

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,表示各行是否重複行。

而 drop_duplicates方法,它用於返回一個移除了重複行的DataFrame

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

drop_duplicates根據資料的不同情況及處理資料的不同需求,通常會分為兩種情況,一種是去除完全重複的行資料,另一種是去除某幾列重複的行資料,就這兩種情況可用下面的程式碼進行處理。

1. 去除完全重複的行資料

data.drop_duplicates(inplace=True)

2. 去除某幾列重複的行資料

data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
  • subset: 列名,可選,預設為None
    • keep: {‘first',‘last',False},預設值 ‘first'
    • first: 保留第一次出現的重複行,刪除後面的重複行。
    • last: 刪除重複項,除了最後一次出現。
  • False: 刪除所有重複項。
  • inplace:布林值,預設為False,是否直接在原資料上刪除重複項或刪除重複項後返回副本。(inplace=True表示直接在原來的DataFrame上刪除重複項,而預設值False表示生成一個副本。)

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

data.drop_duplicates(['k2'])

到此這篇關於python pandas dataframe 去重函式的具體使用的文章就介紹到這了,更多相關python pandas dataframe 去重函式內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!