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!
總結
以上是生活随笔為你收集整理的python 数据去重_python 对数据常用的几种去重方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python获取文件夹下文件_Pytho
- 下一篇: python获取系统时间函数_Pytho