数据分析之Pandas(七)高级处理-缺失值处理
·
缺失值处理
缺失值是怎么来的?
- 调查问卷:女性的美容方面的问题
name:
age: 不愿意透露年龄(收集不到,空值)
phone: 不愿意透露年龄
xx:
yy: - 它对数据分析有什么影响?
影响分析准确性

如何处理nan
对于NaN的数据,在numpy中我们是如何处理的?在pandas中我们处理起来非常容易
- 判断数据是否为NaN:
pd.isnull(df)
pd.notnull(df)
处理方式:
- 存在缺失值nan,并且是np.nan:
1、删除存在缺失值的:dropna(axis='rows')
注:不会修改原数据,需要接受返回值
2、替换缺失值:fillna(value, inplace=True)
value:替换成的值
inplace:True:会修改原数据,False:不替换修改原数据,生成新的对象
不是缺失值nan,有默认标记的
电影数据的缺失值处理
- 电影数据文件获取
链接:https://pan.baidu.com/s/1Y6Vd_s8QTbwH4aao0ElH1g
提取码:7s9l

判断缺失值是否存在
数据准备

添加NaN值

判断是否有缺失值NaN
- pd.notnull()
- pd.isnull()


存在缺失值nan,并且是np.nan
如何处理nan
1) 判断是否有缺失值 (np.nan)
2) 如果有,就处理
1. 删除包含了缺失值的记录(样本,一行)
2. 填充:固定的值,均值
3)如果没有,那么有没有用别的形式表示的缺失值
如果有,就用replace函数替换成np.nan,然后从头继续
- 1、删除
pandas删除缺失值,使用dropna的前提是,缺失值的类型必须是np.nan


可以定义新的变量接受或者用原来的变量名

- 2、替换缺失值

用均值来填充
替换存在缺失值的样本的列
替换填充平均值,中位数


替换

movie['Revenue (Millions)'].fillna(movie['Revenue (Millions)'].mean(), inplace=True)
movie['Metascore'].fillna(movie['Metascore'].mean(), inplace=True)
不是缺失值nan,有默认标记的
数据是这样的:

处理思路分析:
- 1、先替换‘?’为np.nan
df.replace(to_replace=, value=)- to_replace:替换前的值
- value:替换后的值
把一些其它值标记的缺失值,替换成np.nan

- 2、在进行缺失值的处理
- 删除


- 删除
版权声明:
笔者博客文章主要用来作为学习笔记使用,内容大部分整理自互联网,如有侵权,请联系博主删除!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)