DataFrame(7):缺失值处理

DataFrame(7):缺失值处理

1、替换字符

例如把字符‘A’ 替换为字符‘B’

data.replace(to_replace="A", value='B')  

to_replace:替换前的值, value:替换后的值

2、判断缺失值是否存在

1)pd.notnull(dataframe)             #新DataFrame(boolen类型)2)np.all(pd.notnull(dataframe))     #true/false3)pd.isnull(dataframe)              #新DataFrame(boolen类型)4)np.any(pd.isnull(dataframe))      #true/false5)df.isnull()                       #通过isnull函数看一下是否有空值,结果是有空值的地方显示为True,没有的显示为False;再通过isnull().any()直接看每一列是否有空值,这个是只要这一列有1个空值,结果就是True;如果想具体看哪几行有空值,可以再用data.isnull().values==True来定位
 (6)data[data.isnull().values==True]     #有缺失值的行7)data.isna().all()           		 #全为空的行或者列8)data.isnull().sum()        		 #为空的列数总和

3、删除缺失值

data.dropna() #使用dropna的前提:缺失值的类型必须是np.nan

参数:
	-axis: 删除行还是列,行是0或index,列是1或column,默认是行
	-subst: 删除某几列的缺失值,可选,默认为所有列
	-how: any or allany表明只要出现1个就删除,all表示所有列均为na才删
	-thresh: 缺失值的数量标准,达到这个阈值才会删除
	-inplace: 是否替换
data.dropna(axis=0, how='all') #删除表中全部为NaN的行
data.dropna(axis=1, how='all') #删除表中全部为NaN的列
dropna(thresh=thr,axis=1) #将缺失率>thr的列删除
dropna(subset=['a'],axis=0) #删除列a 为空的行

4、填充缺失值

dataframe.fillna(value,method,{},limit,inplace,axis)

参数:
	-value: 可以传入一个字符串或数字替代Na,值可以是指定的或者平均值,众数或中位数等
	-method: 有ffill(用前一个填充)和bfill(用后一个填充)两种
	-{}: 可以根据不同的列填充不同的值,列为键,填充值为值
	-limit: 限定填充的数量
	-inplace: 是否直接在原文件修改,True:会修改原数据,False:不替换修改原数据,生成新的对象
	-axis: 填充的方向,默认是0,按行填充
data['age'].fillna(data['age'].mean(), inplace=True)  
#用平均值填充缺失值
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值