DataFrame(7):缺失值处理

DataFrame(7):缺失值处理,第1张

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/false
(3)pd.isnull(dataframe)              #新Dataframe(boolen类型)
(4)np.any(pd.isnull(dataframe))      #true/false
(5)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 all,any表明只要出现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的列删除
4、填充缺失值

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

data['age'].fillna(data['age'].mean(), inplace=True)  
#用平均值填充缺失值

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5571971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存