日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python常用的几种去重方式

發布時間:2024/6/3 python 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python常用的几种去重方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?由于Python的去重方式比較多,本人在項目中總結了幾種常用方法,歡迎補充。

一、對列表去重

1.用循環查找的方式

li = [1,2,3,3,4,2,3,4,5,6,1]
news_li = []
for i in li:
? ? if i not in news_li:
? ? ? ? news_li.append(i)
print (news_li)

2.用集合的特性set()

li1 = [1,4,3,3,4,2,3,4,5,6,1]
new_li1 = list(set(li1))

3.使用itertools模塊的grouby方法

import itertools
li2 = [1,4,3,3,4,2,3,4,5,6,1]
li2.sort() # 排序
it = itertools.groupby(li2)
for k, g in it:
? ? print (k)

4.運用while循環遍歷的方式

def quchong(lb):
? ? for x in lb:
? ? ? ? while lb.count(x)>1:
? ? ? ? ? ? del lb[lb.index(x)]
? ? return lb
li3 = [1,4,3,3,4,2,3,4,5,6,1]
quchong(li3)

5.使用keys()方式

li4 = [1,0,3,7,7,5]
formatli = list({}.fromkeys(li4).keys())
print (formatli)

二、對數據框去重

1.用unique()對單屬性列去重

import pandas as pd
data = {'id':['A','B','C','C','C','A','B','C','A'],'age':[18,20,14,10,50,14,65,14,98]}
data = pd.DataFrame(data)
data.id.unique()
#或者
import numpy as np
np.unique(data.id)

2.用frame.drop_duplicates()對單屬性列去重

data.drop_duplicates(['id'])

3.用frame.drop_duplicates()對多屬性列去重

data.drop_duplicates(['id','age'])

4.用frame.duplicated()對多屬性列去重

isduplicated = data.duplicated(['id','age'],keep='first')
data.loc[~isduplicated,:]

?

總結

以上是生活随笔為你收集整理的Python常用的几种去重方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。