千万别让缺失值影响你的数据分析结果!一文告诉你如何用 Pandas 库快速处理数据中的缺失值

目录

一、isnull缺失值判断

二、notnull缺失值判断

三、dropnull删除缺失值

四、fillna填充缺失值


嗨,各位小伙伴们!马上就是一年一度的端午节了,布丁_码上成功先在这里祝愿大家端午安康呀!你们有没有吃香香的粽子呢?在享受美食的同时,我们也不能忘记实际工作中可能遇到的问题——缺失值。因为一个小小的漏写,很可能影响整个数据分析的准确性,甚至导致公司财务出现问题。所以,今天小编来给大家介绍几个Python库Pandas中处理缺失值的方法。

一、isnull缺失值判断

第一个方法是isnull缺失值判断,它的名字就像一只能翻转拍子的熊孩子,总是给人意外惊喜。这个函数可以判断表格中是否有缺失值,并返回布尔类型的结果。比如说,我们有一张名单表格,其中“性别”、“年龄”两列有些细心的同事没填写,就会以NAN来表示。我们可以用isnull函数来查找这些缺失值:

import pandas as pd

df = pd.read_excel('名单.xlsx')

check = df.isnull()

print(check)

运行后,我们会得到一张新表格,其中包含着原表格中所有的数据,但把缺失的地方都标记为了True:

姓名性别年龄
0张三False25
1李四False28
2王五TrueNaN
3赵六True30

二、notnull缺失值判断


接下来,我们可以用第二个方法notnull缺失值判断,来找出数据表中不为空的值。与isnull相反,这个函数只会返回那些不为空的地方,并把它们标记为True。同样还是以名单表格为例:

import pandas as pd

df = pd.read_excel('名单.xlsx')

check = df.notnull()

print(check)


运行后,我们会得到一个新表格,其中“性别”、“年龄”两列的非空处都被标记为True:

姓名性别年龄
0张三TrueTrue
1李四TrueTrue
2王五FalseFalse
3赵六FalseTrue


如果我们只想查找某一列具体的缺失值,可以这样写:

import pandas as pd

df = pd.read_excel('名单.xlsx')

age_check = df['年龄'].isnull()

print(age_check)

然后我们就可以得到只关注“年龄”一列的缺失值信息:

年龄
0False
1False
2True
3False

三、dropnull删除缺失值


第三个方法dropnull删除缺失值,则是直接把含有缺失值的行或者列进行过滤,使得剩下的数据表格规整完整。比如说,我们对名单表格进行处理,去掉所有含有缺失值的行:

import pandas as pd

df = pd.read_excel('名单.xlsx')

new_df = df.dropna()

print(new_df)

运行后,我们会发现新的数据表格中已经没有任何缺失值了:

姓名性别年龄
0张三25
1李四28


如果我们希望只要某一列有缺失值就删除整行,可以这样写:

import pandas as pd

df = pd.read_excel('名单.xlsx')

new_df = df.dropna(subset=['年龄'])

print(new_df)

这时,我们会发现只剩下“王五”这个同事被删掉了,因为他的年龄是空的:

姓名性别年龄
0张三25
1李四28
3赵六

四、fillna填充缺失值


最后一个方法fillna填充缺失值,顾名思义,就是用某些规则把空值填满。比如说,我们有一个简单的数据表格,记录了一周吃早餐的数量:

星期一星期二星期三星期四星期五
02416
13NaN572


我们可以把第一行中最后一个星期五的空值填为0:

import pandas as pd

df = pd.read_excel('早餐.xlsx')

filled = df.fillna(0)

print(filled)

得到新的表格,可以看到,这个缺失值终于不再孤独:

星期一星期二星期三星期四星期五
024160
130572


这只是fillna这个函数的一种简单用法。它还可以根据前面的数据进行填充,或者按照列进行填充,以满足不同的实际需求。

好啦,今天大家学习了Pandas库中四个处理缺失值的方法:isnull、notnull、dropnull、fillna。相信你们已经掌握了这些方法的使用,以后遇到缺失值问题就再也不用心慌了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布丁_码到成功

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值