當前位置:首頁 » 編程語言 » python數據去重復

python數據去重復

發布時間: 2023-01-24 01:03:07

python 清除重復值

from pandas import read_csv

df = read_csv('D://PDA//4.3//data.csv')

df

#找出行重復的位置

dIndex = df.plicated()

#根據某些列,找出重復的位置

dIndex = df.plicated('id')

dIndex = df.plicated(['id', 'key'])

#根據返回值,把重復數據提取出來

df[dIndex]

id  key          value

4  1251147    品牌          Apple

5  1251147  商品名稱  蘋果iPad mini 3

#直接刪除重復值

#默認根據所有的列,進行刪除

newDF = df.drop_plicates()

#當然也可以指定某一列,進行重復值處理

newDF = df.drop_plicates('id')

❷ python中list中怎麼刪除重復數據保留一條

可以先統計list中每個數據的個數,用一個dict存儲,然後遍歷list,判斷是否是最後一個,是的就從list中刪除即可

❸ Python第19課:數據清洗之去錯、去空、去重

Python 第19課:數據清洗之去錯、去空、去重

時間 2019-02-01 下午3:30

主講 劉培富

地點 四樓電教室

數據清洗是數據治理的關鍵環節,是指對獲取的原始數據(也稱「臟數據」)進行審查、校驗、加工的過程,目的在於刪除重復信息、糾正錯誤信息,保持數據一致性。

一般來說,數據清洗,主要是對數據進行去錯、去空、去重處理。

針對一張包含姓名、身份證號碼、車牌號碼的數據表,建立糾錯規則如下:

1.車牌號既不包含漢字贛,且不包含漢字饒。

2.身份證號碼的年份既不等於19也不等於20,身份證號碼的月份大於12,身份證號碼的日期大於31。

3.身份證號碼位數不等於18。

4.姓名的長度小於等於1。

二、去空

對於關鍵性數據,不允許為空,對於這類數據,要查詢是否存在空值。

三、去重

在一張表中,有的數據列允許重復,有的數據列則不允許重復。例如,對於一張車主信息表來說,姓名、身份證號可以重復,因為存在一人登記多輛車的情形,這種重復,不能認為是錯誤。但是,車牌號則不允許重復,否則就存在業務邏輯的錯誤。所以,針對車牌號數據列,要進行去重。

通過以下SQL語句,可以列出重復的數據:

綜上,數據清洗,既要懂技術,更要懂業務,否則無法正確制定清洗規則,導致數據清洗流於形式,達不到清洗的效果。

❹ Python怎麼從文件里的數據去重復,去重復後,再保存到文件里,把重復的數據保存出來

內容讀出來通過逗號分割成一個列表,再去掉重復的,再寫入到文件裡面

#-*-coding:utf-8-*-

filename='data.txt'

withopen(filename,'r')asf:
content=f.read()
content=list(set(content.split(',')))
content=','.join(content)
withopen(filename,'w')as_f:
_f.write(content)

❺ python數據類型(集合)

    1.集合(set)是一個無序不重復元素的序列(意思是有重復的會自動刪除,每次列印元素的位置不一定)

    2.基本功能是進行成員關系測試和刪除重復元素

    3.可以使用大括弧 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典

    4.因為set存儲的是無序集合,所以我們沒法通過索引來訪問。訪問 set中的某個元素實際上就是判斷一個元素是否在set中。

1.創建集合

s=set()#創建一個空集合

s1={1,2,3,'a','python'}

2.刪除重復的元素

集合是一個無序不重復元素的序列(意思是有重復的會自動刪除,每次列印元素的位置不一定)

3.成員關系測試(檢測某個成員是否在集合中)

案例:從終端輸入5位數,以空格隔開,把這5位數存入列表中,剔除重復的數據,列印出來

#提示,列表轉集合,集合轉列表

a=input("請輸入5位數字:")

mylist=a.split()

print(mylist)

b=set(mylist)

c=list(b)

print(c)

4.集合常用操作

    1.添加元素

    2.刪除元素

    3.刪除整個集合

    4.獲取集合的長度

    5.不支持改元素

集合操作-添加元素

格式:

集合.add(元素)

格式:

集合.update(元素)

區別:

add不能添加列表,update可以

update是將字元串中的拆分成字元進行追加

add,是當做整體追加在集合中

#案例:從終端輸入一個數字就加入集合中,然後列印,又輸入一個數字,然後列印,直到輸入-1,退出輸入

#然後列印最終的集合

ms=set()

while 1:

a=int(input("請輸入一個數字:"))

if a==-1:

    break

    ms.add(a)

print(ms)

print(ms)

#案例:從終端輸入一個字元串就加入集合中,然後列印,又輸入一個字元串,然後列印,直到輸入q,退出輸入

#然後列印最終的集合,字元串要分開存儲,如輸入hello,存儲的列表是{'h','e','l','0'}

ms=set()

while 1:

a=input("請輸入一個字元串:")

if a=='q':

    break

    ms.update(a)

print(ms)

print(ms)

集合操作-刪除元素及刪除整個集合

格式:

集合.remove(元素)  # 元素如果不存在會引發KeyError

集合.discard(元素)  # 元素如果不存在不發生任何事

集合.pop()  # 集合元素是字元串類型時刪除隨機元素。 集合元素是其他數據類型時,刪除左邊第一個元素

del 集合名 #刪除整個集合

#案例:有集合{1,2,3,'hello','world'},刪除全部字元串,然後最左邊第一個元素

a={1,2,3,'hello','world'}

a.discard("hello")

a.discard("world")

a.pop()

print(a)

集合操作-獲取集合的長度

格式:

len(集合名)

#案例:有集合{1,2,3,4,'hello','a'},保留1個元素,其他的刪除,假如元素個數不確定

s={1,2,3,4,'hello','a'}

for i  in range(len(s)-1):

            s.pop()

  print(s)

集合的集運算

集合的交集,並集,差集,對稱差集的運算

{1,2,3,4}交集{4,5,6,7} -->4   交集(&)

{1,2,3,4}並集{4,5,6,7} ->1,2,3,4,5,6,7  並集(|)

{1,2,3,4}差集{4,5,6,7} ->1,2,3  差集(-)

{1,2,3,4}對稱差集{4,5,6,7}->1,2,3,5,6,7 4同時出現在兩個集合中,不選它 對稱差集(^)

#案例:使用花括弧和set創建各一個集合,然後對集合進行交、並、差、對稱差運算

s={1,2,3,4,5,6}

s1=set([6,7,8,9,10])

print(s&s1)

print(s|s1)

print(s-s1)

print(s^s1)

❻ Python 去除列表中重復的元素

這個有幾種方法來完成,但是對於不可哈希的數據來說,BIF set() 是無效的,會報錯,下面介紹幾種方法

對於以上4種方法,各有利弊,一般來說是方法2最快,方法1和方法3比較類似,但是方法3可以保持列表中的排序和之前的一樣,但是開頭也說了,這樣無法對不可哈希的對象進行去重復,比如列表中的元素還是列表,這種情況下就只能用方法4了,但是方法4的缺點就是比較的慢。

熱點內容
bf3什麼配置好 發布:2025-07-20 14:42:34 瀏覽:134
vs2015編寫python 發布:2025-07-20 14:42:30 瀏覽:483
順序存儲的空間壓力大不大 發布:2025-07-20 14:41:50 瀏覽:387
ff15和尼爾哪個配置要求高 發布:2025-07-20 14:37:19 瀏覽:848
安卓怎麼創建ftp伺服器地址 發布:2025-07-20 14:35:58 瀏覽:525
c編譯器和解釋器的區別 發布:2025-07-20 14:27:32 瀏覽:334
語句編譯一個計算機 發布:2025-07-20 14:27:24 瀏覽:928
惠支付普通密碼被鎖定什麼原因 發布:2025-07-20 14:27:21 瀏覽:528
榮譽積分伺服器怎麼搭建 發布:2025-07-20 14:15:18 瀏覽:231
我的C語言 發布:2025-07-20 14:14:21 瀏覽:280