收藏贴:数据这么「洗」,分析才能做的好!

本文介绍使用Pandas进行数据清洗的基本方法,包括处理空值、缺失值、重复值及异常值等,确保数据质量,为数据分析奠定坚实基础。

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

数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。

Pandas中常见的数据清洗操作有空值和缺失值的处理、重复值的处理、异常值的处理、统一数据格式等。今天,播妞来带大家研究研究Pandas进行数据清洗的方法!

前期采集到的数据或多或少都存在一些瑕疵和不足,如数据缺失、极端值、数据格式不统一等问题。

在分析数据之前需要对数据进行预处理,包括数据的清洗、合并、重塑与转换。Pandas中专门提供了用于数据预处理的很多函数与方法,用于替换异常数据、合并数据、重塑数据等。

数据清洗的目的在于提高数据质量,将脏数据(脏数据在这里指的是对数据分析没有实际意义、格式非法、不在指定范围内的数据)清洗干净,使原数据具有完整性、唯一性、权威性、合法性、一致性等特点。

空值一般表示数据未知、不适用或将在以后添加数据。缺失值是指数据集中某个或某些属性的值是不完整的,产生的原因主要有人为原因和机械原因两种,其中机械原因是由于机器故障造成数据未能收集或存储失败,人为原因是由主观失误或有意隐瞒造成的数据缺失。

一般空值使用None表示,缺失值使用NaN表示。Pandas中提供了一些用于检查或处理空值和缺失值的函数,其中,使用isnull()和notnull()函数可以判断数据集中是否存在空值和缺失值,对于缺失数据可以使用dropna()和fillna()方法对缺失值进行删除和填充。

1、isnull()函数

isnull()函数的语法格式如下:

上述函数中只有一个参数obj,表示检查空值的对象,该函数会返回一个布尔类型的值,如果返回的结果为True,则说明有空值或缺失值,否则为False。(NaN或None映射到True值,其它内容映射到False)

接下来,通过一段示例来演示如何通过isnull()函数来检查缺失值或空值,具体代码如下:

上述示例中,首先创建了一个Series对象,该对象中包含1、None和NaN三个值,然后调用isnull()函数检查Series对象中的数据,数据为空值或缺失值就映射为True,其余值就映射为False。从输出结果看出,第一个数据是正常的,后两个数据是空值或缺失值。

2、 notnull()函数

notnull()函数与isnull()函数的功能是一样的,都是判断数据中是否存在空值或缺失值,不同之处在于,前者发现数据中有空值或缺失值时返回False,后者返回的是True。

将上述调用isnull()函数的代码改为调用notnull()函数,改后的代码如下:上述示例中,通过notnull()函数来检查空值或缺失值,只要出现空值或缺失值就映射为False,其余则映射为True。

从输出结果看出,索引0对应的数据为True,说明没有出现空值或缺失值,索引1和2对应的数据为False,说明出现了空值或缺失值。

3、dropna()方法

dropna()方法的作用是删除含有空值或缺失值的行或列,其语法格式如下:

上述方法中部分参数表示的含义如下:

(1) axis:确定过滤行或列,取值可以为:

0或index:删除包含缺失值的行,默认为0。

1或columns:删除包含缺失值的列。

(2) how:确定过滤的标准,取值可以为:

any:默认值。如果存在NaN值,则删除该行或该列。

all:如果所有值都是NaN值,则删除该行或该列。

(3) thresh:c表示有效数据量的最小要求。若传入了2,则是要求该行或该列至少有两个非NaN值时将其保留。

(4) subset:表示在特定的子集中寻找NaN值。

(5) inplace:表示是否在原数据上操作。如果设为True,则表示直接修改原数据;如果设为False,则表示修改原数据的副本,返回新的数据。

4、填充空值/缺失值

填充缺失值和空值的方式有很多种,比如人工填写、特殊值填写、热卡填充等。Pandas中的fillna()方法可以实现填充空值或缺失值。

· 推荐阅读 ·

Linux之父炮轰:C++是一门很烂的语言,不会用其重写Linux内核

2021-04-23

这个「垃圾」问题也能冲上热搜?引得Java大牛在线怒怼...

2021-04-22

编程过来人的5点建议,听进去的人离「高薪」更近!

2021-04-21

点个在看,播妞爱你们呦

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值