Pandas详解二十一之移除重复数据

约定

import pandas as pd

移除重复数据

DataFrame中经常会出现重复行,利用duplicated()函数返回每一行判断是否重复的结果(重复则为True),drop_duplicates([key1,key2,..])则可去除重复行。

1 判断每一行是否重复

df1=pd.DataFrame({'A':[1,1,1,2,2,3],'B':list("aabbbc")})
print(df1)
   A  B
0  1  a
1  1  a
2  1  b
3  2  b
4  2  b
5  3  c
df1.duplicated()
0    False
1     True
2    False
3    False
4     True
5    False
dtype: bool

2 去除全部的重复行

print(df1.drop_duplicates())
   A  B
0  1  a
2  1  b
3  2  b
5  3  c

3 指定列去除重复行

print(df1.drop_duplicates(['A']))
   A  B
0  1  a
3  2  b
5  3  c

4 保留重复行中的最后一行

print(df1.drop_duplicates(['A'],keep='last'))
   A  B
2  1  b
4  2  b
5  3  c

5 去除重复的同时改变DataFrame对象

df1.drop_duplicates(['A','B'],inplace=True)
print(df1)
   A  B
0  1  a
2  1  b
3  2  b
5  3  c

谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值