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!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值