duplicate

本文介绍了如何使用pandas在Python中识别和处理重复值,包括df.duplicated()函数的用法、不同keep选项的解释,以及drop_duplicates()方法删除重复数据,针对列和整行操作进行了详细说明。
摘要由CSDN通过智能技术生成
import pandas as pd
#1.   重复值识别
'''
df.duplicated(subset = None,keep='first')
subset: 可以指定列
keep :标记重复值 
      first:除第一次出现标记为True
      last:除最后一次标记为True
      False:将所有的重复值标记为True
''' 

"\ndf.duplicated(subset = None,keep='first')\nsubset: 可以指定列\nkeep :标记重复值 \n      first:除第一次出现标记为True\n      last:除最后一次标记为True\n      False:将所有的重复值标记为True\n"
df = pd.DataFrame(
                 {'A':[1,1,1],'B':[1,1,1],'C':[1,1,4]})
df
ABC
0111
1111
2114
df.duplicated()
0    False
1     True
2    False
dtype: bool
# 将keep='last'
df.duplicated(keep='last')
0     True
1    False
2    False
dtype: bool
# 指定列是否重复
df.duplicated(subset=['A']) # 检测‘A’列是否有重复
0    False
1     True
2     True
dtype: bool
# 筛选出重复内容
df[df.duplicated()]
ABC
1111
# 2. 删除重复值
'''
   df.drop_duplicates(subset=None,keep='first',inplace=False,ignore_index=False)
   subset: 可以指定列
   keep :标记重复值 
      first:保留第一次出现重复值
      last:保留最后一次出现重复值
      False:删除所有重复值
   inplace: 是否对列表生效,若为True则表内容改变
   ignore_index:True,重新匹配自然索引。
      
'''
"\n   df.drop_duplicates(subset=None,keep='first',inplace=False,ignore_index=False)\n   subset: 可以指定列\n   keep :标记重复值 \n      first:保留第一次出现重复值\n      last:保留最后一次出现重复值\n      False:删除所有重复值\n   inplace: 是否对列表生效,若为True则表内容改变\n   ignore_index:True,重新匹配自然索引。\n      \n"
df
ABC
0111
1111
2114
df.drop_duplicates()
ABC
0111
2114
 df.drop_duplicates(subset=['A'])#  删除'A' 中有重复的行
ABC
0111
df
ABC
0111
1111
2114
# 3.删除数据
'''
df.drop(labels=None,axis=0,index=None,columns=None,
        level=None,inplace=False,error='raise')
   labels:要删除的列和行
   axis:0为行,1 为列
   index:指定的行或者多行
   column:指定的一列或者多列
   level:索引层级,将删除层级
   inplace:布尔值
   errors:ignore或者raise,ignore,容忍错误,删除现有标签
'''
"\ndf.drop(labels=None,axis=0,index=None,columns=None,\n        level=None,inplace=False,error='raise')\n   labels:要删除的列和行\n   axis:0为行,1 为列\n   index:指定的行或者多行\n   column:指定的一列或者多列\n   level:索引层级,将删除层级\n   inplace:布尔值\n   errors:ignore或者raise,ignore,容忍错误,删除现有标签\n"
df

ABC
0111
1111
2114
df.drop([0,1]) #删除指定行
ABC
2114
df.drop(['B','C'],axis=1) #删除指定的列
A
01
11
21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值