在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

重復值處理的常用方法

數據分析與開發 ? 來源:Python數據科學 ? 作者:Python數據科學 ? 2022-03-16 13:55 ? 次閱讀

本次來介紹重復值處理的常用方法。

重復值處理主要涉及兩個部分,一個是找出重復值,第二個是刪除重復值,也就是根據自己設定的條件進行刪除操作。

定位重復值

對于重復值,我們首先需要查看這些重復值是什么樣的形式,然后確定刪除的范圍,而查詢重復值需要用到duplicated函數。

duplicated的返回值是布爾值,返回True和False,默認情況下會按照一行的所有內容進行查重。

主要參數

subset:如果不按照全部內容查重,那么需要指定按照哪些列進行查重。比如按照姓名進行查重subset=['name'],那么具有相同名字的人就只會保留一個,但很可能只是重名的原因,而并非真正同一個人,所以可以按照姓名和出生日期兩列查重,subset=['name','birthday'],同理還可以再添加列,這樣就可以基本保證去重效果了。

keep:用來確定要標記的重復值,可以設置為first、last、False。

first:除第一次出現的重復值,其他都標記為True

last:除最后一次出現的重復值,其他都標記為True

False:所有重復值都標記為True

實例:

importpandasaspd
importnumpyasnp

data={
'user':['zszxz','zszxz','rose'],
'price':[100,200,-300],
'hobby':['reading','reading','hiking']
}
frame=pd.DataFrame(data)
print(frame)
------------------------
userpricehobby
0zszxz100reading
1zszxz200reading
2rose-300hiking
------------------------

frame.duplicated()
----------
0False
1False
2False
dtype:bool
-----------

上面提到duplicated返回布爾值,所以如果要想輸出這些重復值,還需要和查詢的方法配合使用df[df.duplicated()],比如:

#1、按user變量篩選重復值
frame[frame.duplicated(subset=['user'])]
-------------------
userpricehobby
1zszxz200reading
-------------------

上面按user一個變量進行查重,但沒有設置keep參數,所以默認篩選出除了第一個以外的其它重復值。

#2、按user變量篩選重復值,保留全部重復值
frame[frame.duplicated(subset=['user'],keep=False)]
-------------------
userpricehobby
0zszxz100reading
1zszxz200reading
-------------------

上面按user一個變量進行查重,并設置keep參數為False,所以保留了全部的重復值。

#3、按user和hobby變量篩選重復值,篩選出除最后一個重復值以外的其它重復值
frame[frame.duplicated(subset=['user','hobby'],keep='last')]
-------------------
userpricehobby
0zszxz100reading
-------------------

上面按user和hobby兩個變量進行查重,并設置keep參數為last,所以篩選出了除最后一個重復值以外的其它重復值。

通過兩個參數的設置就可以查看自己想要的重復值了,以此判斷要刪除哪個,保留哪個。

刪除重復值

當確定好需要刪除的重復值后,就進行進行刪除的操作了。

刪除重復值會用到drop_duplicates函數。

和duplicated()函數參數類似,主要有3個參數:

subset:同duplicated(),設置去重的字段

keep: 這里稍有不同,duplicated()中是將除設置值以外重復值都返回True,而這里是保留的意思。同樣可以設置first、last、False

first:保留第一次出現的重復行,刪除其他重復行

last:保留最后一次出現的重復行,刪除其他重復行

False:刪除所有重復行

inplace:布爾值,默認為False,是否直接在原數據上刪除重復項或刪除重復項后返回副本。

實例:

1、全部去重

#按全部字段刪除,在原數據frame上生效
frame.drop_duplicates(inplace=True)
print(frame)
------------------------
userpricehobby
0zszxz100reading
1zszxz200reading
2rose-300hiking
------------------------

因為上面數據中沒有全部重復的,因此沒有可刪除行。

2、指定列去重

#按user字段刪除,在原數據frame上生效
frame.drop_duplicates(subset=['user'],inplace=True)
print(frame)
------------------------
userpricehobby
0zszxz100reading
2rose-300hiking
------------------------

上面按user字段刪除重復行,保留第一個重復行,因此第二行被刪除了。但這里大家注意下,執行刪除重復行操作后,表的索引也會被刪掉。

如需要重置可以加上reset_index(),設置drop=True,用索引替代被打亂的索引。

frame.drop_duplicates(subset=['user'],inplace=True)
frame.reset_index(drop=True)
------------------------
userpricehobby
0zszxz100reading
1rose-300hiking
------------------------

keep默認為first,下面手動設置為last,只保留最后一個重復行。

#按全部字段刪除,在原數據frame上生效
frame.drop_duplicates(subset=['user','hobby'],keep='last',inplace=True)
print(frame)
------------------------
userpricehobby
1zszxz200reading
2rose-300hiking
------------------------

keep手動設置為False,全部刪除,這種一般很少用。

#按全部字段刪除,在原數據frame上生效
frame.drop_duplicates(subset=['user','hobby'],keep=False,inplace=True)
print(frame)
------------------------
userpricehobby
2rose-300hiking
------------------------

以上就是重復值相關的所有操作。

注意事項

在刪除重復值時,要注意下刪除的邏輯。

因為很多時候我們需要把這些離線的清洗操作在線上復現。

如果我們隨機地刪除重復行,沒有明確的邏輯,那么對于這種隨機性線上是無法復現的,即無法保證清洗后的數據一致性。

所以我們在刪除重復行前,可以把重復判斷字段進行排序處理。

比如上面例子中,如果要對user和price去重,那么比較嚴謹的做法是按照user和price進行排序。

frame.sort_values(by=['user','price'],ascending=True).reset_index(drop=True)
--------------------
userpricehobby
0rose-300hiking
1zszxz100reading
2zszxz200reading
--------------------

因為有了排序性,只要按這個邏輯它的順序是固定的,而不是隨機的。所以無論我們設置keep為first還是last,都沒有任何影響。

原文標題:pandas 重復數據處理大全(附代碼)

文章出處:【微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7128

    瀏覽量

    89365
  • 函數
    +關注

    關注

    3

    文章

    4344

    瀏覽量

    62864
  • KEEP
    +關注

    關注

    0

    文章

    8

    瀏覽量

    6744

原文標題:pandas 重復數據處理大全(附代碼)

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    介紹幾種常用的傳感器數據處理方法

    在傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法
    發表于 07-12 10:51 ?9275次閱讀

    Sql過濾重復數據處理方法

    對于常規的MySQL數據表中可能存在重復的數據,有些情況是允許重復數據的存在,有些情況是不允許的,這個時候我們就需要查找并刪除這些重復數據,以下是具體的處理
    發表于 03-21 14:46

    常用的二方法有哪幾種

    識別過程分別為哪幾部分?常用的二方法有哪幾種?
    發表于 10-15 09:01

    調試嵌入式處理常用方法有哪些?

    調試嵌入式處理常用方法有哪些?
    發表于 12-24 06:08

    調試嵌入式處理器的幾種常用方法

    調試嵌入式處理器的幾種常用方法 前言 在任何產品
    發表于 03-11 12:25 ?1625次閱讀
    調試嵌入式<b class='flag-5'>處理</b>器的幾種<b class='flag-5'>常用</b><b class='flag-5'>方法</b>

    常用電阻標稱

    常用電阻標稱 設計電路時計算出來的電阻值經常會與電阻的標稱不相符,有時候需要根據標稱來修正電路的計算。下面列出了常用的5%和1
    發表于 11-28 11:20 ?2381次閱讀

    常用的數字濾波方法

    平均值濾波就是對多個采樣進行平均算法,這是消除隨機誤差最常用方法
    的頭像 發表于 08-24 11:28 ?4.1w次閱讀

    傳感器數據常用的簡單處理方法

    在傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法
    的頭像 發表于 07-06 16:50 ?4461次閱讀

    傳感器使用中幾種常用的簡單處理方法

      在傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法
    的頭像 發表于 11-30 10:40 ?1112次閱讀

    淺談傳感器幾種常用的簡單處理方法

    在傳感器使用中,我們常常需要對傳感器數據進行各種整理,讓應用獲得更好的效果,以下介紹幾種常用的簡單處理方法
    發表于 03-02 09:35 ?641次閱讀

    python處理重復方法

    處理重復是數據處理中常見的任務之一。在Python中,有幾種有效的方法可以處理
    的頭像 發表于 11-21 15:47 ?1494次閱讀

    vlookup遇到重復,怎么匹配到第二個

    當使用VLOOKUP函數時,如果在查找范圍中存在重復,則該函數只會返回第一個匹配的。然而,我們可以通過一些技巧來找到第二個匹配的。下面是一些
    的頭像 發表于 12-01 10:47 ?3.3w次閱讀

    vlookup怎么把第二個重復顯示

    VLOOKUP是Excel中最常用的函數之一,它可以根據給定的在數據表中查找相應的信息。然而,當數據表中存在重復的查找時,VLOOKUP只能返回第一個匹配結果的數據。在本文中,我們
    的頭像 發表于 12-03 10:24 ?3411次閱讀

    gis中常用的空間分析方法

    GIS中常用的空間分析方法 GIS(地理信息系統)是一種用于收集、存儲、處理、分析和展示地理數據的技術。空間分析是GIS的核心部分,它包括一系列方法和技術,用來研究地理空間數據之間的關
    的頭像 發表于 02-25 13:44 ?5984次閱讀

    eda中常用的數據處理方法

    奠定基礎。 數據清洗 缺失處理 數據集中的缺失是常見的問題。處理缺失方法包括: 刪除 :
    的頭像 發表于 11-13 10:57 ?385次閱讀
    主站蜘蛛池模板: 在线免费视频网站| 日本一区二区三区不卡在线视频| 午夜手机视频| 天天射狠狠干| 嗯好舒服好爽好快好大| 亚洲卡一卡2卡三卡4卡国色| 日本一区二区三区欧美在线观看| 男女性生动态免费视频| 怡红院日本一道日本久久| 性欧美xxxxhd| 日本色婷婷| 一卡二卡三卡四卡无卡在线| 亚洲香蕉久久| 日韩高清一级| 久久精品亚洲一区二区三区浴池| 国产稀缺精品盗摄盗拍| 1717国产精品久久| 奇米影视777欧美在线观看| 国产又粗又大又爽又免费| 黄色网页在线播放| 国产免费久久| 色婷婷五| 国产人免费人成免费视频| 久久噜噜噜久久亚洲va久| h在线观看视频免费网站| 日韩免费在线视频| 欧美xxxxx喷潮| 播放毛片| 欧美三级成人| 在线看av网址| 亚欧成人乱码一区二区| 欧美一级日韩在线观看| 成人五级毛片免费播放| 欧美成人影院| 亚洲综合资源| 婷婷了五月色香综合缴情| 男人你懂的网站| 一级网站片| 91夜夜操| 亚洲一级毛片免费在线观看| 免费黄色福利视频|