pandas认识、查找和处理缺失值(基础篇)

1.认识缺失值

1.1

pandas中NaN表示缺失值,在使用count()和value_counts()的时候空值不计数(计算重复值的时候会计算在内)

使用value_counts()的时候如果想缺失值也计数,可以括号内写dropna=False

1.2

创造缺失值(1):

from numpy import nan as NA
dat=pd.Series([NA,1,3])
在这里插入图片描述

创造缺失值(2):

这里是引用

2.查找缺失值

首先读一个music2的数据表,图片中红色框标注了缺失值

import pandas as pd
music2=pd.read_excel(‘music2.xlsx’)
music2
在这里插入图片描述

2.1某列的数值缺失

是否缺失
music2.age.isnull()
在这里插入图片描述
缺失值个数
music2.age.isnull().sum()
Out:2

2.2 指定几列缺失

(如果列数比较多 应该有更好的办法)
下面的例子查找age或者gender缺失的

music2[‘age’].isnull()|music2[‘gender’].isnull()

结果:
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 False
10 True
11 True
12 False
13 False
14 False
15 True
16 False
17 False
18 False
dtype: bool

2.3任意列缺失

music2.isnull()
在这里插入图片描述

3.删除缺失值

用到dataframe的dropna方法

参数如下:
music2.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)

#只要有空值 整行删除
music2.dropna(how=‘any’)
#整行为空值 则这一行删除掉
music2.dropna(how=‘all’)

#上面的dropna的找null方式是针对所有列的 如果只针对其中两列 需要用到subset music2.dropna(subset=[‘gender’,‘age’],how=‘all’)

#效果是删除掉了gender和age都是空值的那些行

4.填补缺失值

参数如下:
DataFrame.age.fillna(
value=None,
method=None,
axis=None,
inplace=False,
limit=None,
downcast=None,
)

必有的参数是value ,也就是填补值,这个数值可以只有一个固定的值,比如我们让缺失的年龄全部等于60岁(为了让结果更容易看到,这里设置inplace=True,改变了原表)

music2.age.fillna(value=60,inplace=True)
music2
在这里插入图片描述

如果fillna方法用于dataframe,而且value是一个固定的数值,那么这个数据表所有单元格只要空缺,就被填充这个数值。而实际情况下每列填充的数值都不一样,好在value也可以是一个字典,用于指定列填补指定值。
比如我们把gender缺失的全部填充0,把music genre缺失的全部填充为Jazz

music2.fillna({‘gender’:0,‘music genre’:‘Jazz’},inplace=True)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值