色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    7002

    瀏覽量

    88943
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62573
  • KEEP
    +關注

    關注

    0

    文章

    8

    瀏覽量

    6732

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    Sql過濾重復數據處理方法

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

    常用的二方法有哪幾種

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

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

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

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

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

    常用電阻標稱

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

    常用的數字濾波方法

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

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

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

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

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

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

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

    python處理重復方法

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

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

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

    vlookup怎么把第二個重復顯示

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

    gis中常用的空間分析方法

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

    eda中常用的數據處理方法

    奠定基礎。 數據清洗 缺失處理 數據集中的缺失是常見的問題。處理缺失方法包括: 刪除 :
    的頭像 發表于 11-13 10:57 ?289次閱讀
    主站蜘蛛池模板: 午夜宅宅伦电影网| 精品无码久久久久久国产百度| 一二三四电影完整版免费观看 | 亚洲伊人久久大香线蕉综合图片| 内射后入在线观看一区| 果冻传媒在线观看完整版免费| jizzhd中国| 一区视频免费观看| 午夜伦理网| 日本不卡三卡四卡| 免费又黄又硬又爽大片| 精精国产www视频在线观看免费| 成人无码在线超碰视频| 自慰弄湿白丝袜| 亚洲一区二区三不卡高清| 神马老子影院午夜伦| 欧美人与动牲交A免费| 久久久视频2019午夜福利| 国产精品嫩草影院| 动漫AV纯肉无码AV电影网| 99视频精品在线| 91欧洲在线视精品在亚洲| 伊人色综合久久大香| 亚洲精品午夜久久久伊人| 忘忧草高清| 天天久久影视色香综合网| 日本xxxxx按摩19| 日本美女毛茸茸| 青青青视频在线| 青青伊人国产| 欧美性极品黑人hd| 青青青草免费| 色女孩综合| 婷婷射精AV这里只有精品| 骚浪插深些好烫喷了| 色欲久久99精品久久久久久AV | 国产嫩草在线观看| 国产精品-区区久久久狼| 国产人妻麻豆蜜桃色精| 国产色欲一区二区精品久久呦| 国产伦精品一区二区三区免费观看|