dataframe 去重复_pandas中如何去除重复值:drop_duplicates

通常将数据导入到pandas后我们会发现原始数据会有很多重复的值

今天一起来看下如何删除重复值:

ce389515d66b1cf366fae5d5fb68bb24.png

需要重点掌握的知识点:

  • 去除重复值可以根据一列,也可以根据多列
  • 默认将结果赋给一个新对象,也建议这样操作
  • 去重复跟索引没关系,只跟你传入的列标签有关系
  • 保留第一次出现还是保留最后一次出现的数据,要看你的原始数据和需求

去除重复值

drop_duplicates

da.drop_duplicates(subset=None, keep='first', inplace=False)

subset:列标签或标签序列,可选, 默认使用所有列,只考虑某些列来识别重复项传入列标签或者列标签的序列

keep:{'first','last',False},默认'first'

- ``first``:删除第一次出现的重复项。

- ``last``:删除重复项,除了最后一次出现。

- "false":删除所有重复项。

inplace:是否替换原数据,默认是生成新的对象,可以复制到新的DataFrame,如果设置为True则乎替换原有数据,通常不建议设置为True


当keep为“first":

pandas会留下第一次出现的值,后面出现的重复的均会被删除

import pandas as pd data={'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']}frame=pd.DataFrame(data) a= frame.drop_duplicates(subset=['pop'],keep='first')print(frame)print("="*30)print(a)

结果:

ba2c0628b3790eb3b0b0013f61e921f5.png

当keep为“last":pandas会留下第后一次出现的值,前面出现的重复的均会被删除

a= frame.drop_duplicates(subset=['pop'],keep='last')

结果:

257f2172bff3f3fe0656c863c24b78ad.png

当keep为False:

pandas会删除所有的重复项,注意False不需要添加引号

a= frame.drop_duplicates(subset=['pop'],keep=False)

结果

f271be55547ebd442e346f0a12b71a43.png

inplace:布尔值

当设置inplace为True时,不需要再复制给新对象,会改变原始的数据

print(frame)frame.drop_duplicates(subset=['pop'],keep="last
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值