pandas重复值的处理

数据预处理中的重要步骤是数据清洗,特别是处理重复值。pandas提供了duplicated()和drop_duplicates()两个函数来标记和删除重复数据。duplicated()函数标记重复行,keep参数可设置标记第一个或最后一个出现的重复项。drop_duplicates()函数则删除这些重复行,同样提供keep参数决定保留哪个重复项,并可通过inplace参数选择是否原地修改数据框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数据分析前,首先要进行数据采集。通常,采集到的原始数据大多数是不完整和不一致的“脏”数据,无法直接进行数据挖掘。为了提高数据挖掘的质量,产生了数据预处理技术。数据预处理包括数据清理、数据集成、数据变换、数据归约等。

数据清洗是发现并纠正数据文件中可识别的错误,如移除重复数据,处理缺失值和空格值,检测和过滤异常值,并检查数据一致性等。通过数据清洗不仅要使通过清洗后的数据变得可用,而且还要使数据变得更加适合进行后续的数据分析工作。那就介绍下数据重复值的处理。

原始数据集中往往会存在着许多重复数据。所谓重复数据是指在数据结构中所有列的内容都相同,即行重复。而处理重复数据是数据分析中经常要面对的问题之一。pandas 提供了 duplicated() 和 drop_duplicates() 函数用于标记和删除重复数据。

duplicated() 函数

duplicated() 函数用于标记 Series 中的值、DataFrame 中的记录行是否重复,重复为 True,不重复为 False。该函数语法格式如下:

pandas.DataFrame.duplicated(subset=None,keep='first')

pandas.Series.duplicated(keep='first')

函数中的参数说明如下:

  • subset:接收 string 或 sequence,用于识别重复的列标签或列标签序列,默认为列标签,默认值为 None;
  • keep:接收特定 string, first 表示除了第一次出现外,其余相同的重复项标记为 True; last 表示除了最后一次出现外,其余相同的重复项标记为 True; False 表示将所有重复项标记为True,默认为 first。

drop_duplicates() 函数

drop_duplicates() 函数用于删除 Series、DataFrame 中重复记录,并返回删除重复后的结果。该函数语法格式如下。

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

pandas.Series.drop_duplicates(keep='first', inplace=False)

函数中的参数说明如下:

  • subset:接收 string 或 sequence,仅考虑用于标识重复项的某些列,默认情况下使用所有列,默认值为 None;
  • keep:接收特定 string,first 表示删除重复项并保留第一次出现的项;last 表示除了最后一项外,删除重复项;False 表示删除所有重复项;默认为 first;
  • inplace:接收 boolean,True 表示直接修改原对象,False 表示创建一个副本,修改副本,原对象不变,默认为 False。

【例 1】有一个手机评论数据 Mobile.csv 文件,该文件的数据列包括手机品牌、价格和评分。现在要求完成去除该文件中的重复值。

其示例代码 test1.py 如下。

# -*- coding: utf-8 -*-
import pandas as pd
df =  pd.read_csv('Mobile.csv',encoding='GBK')
#取df中0-4列数据
df1 = df.iloc[:,0:4]
print(df1)
#标识重复项
data = df1.duplicated(keep='first')
print(data)
#删除重复项
data1 = df1.drop_duplicates(keep='first')
print(data1)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值