版权声明:版权声明: 笔者博客文章主要用来作为学习笔记使用,内容大部分来自于自互联网,并加以归档整理或修改,以方便学习查询使用,只有少许原创,如有侵权,请联系博主删除! https://blog.csdn.net/qq_42642945/article/details/88637457
缺失值处理
缺失值是怎么来的?
- 调查问卷:女性的美容方面的问题
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、在进行缺失值的处理
- 删除
- 删除
版权声明:
笔者博客文章主要用来作为学习笔记使用,内容大部分整理自互联网,如有侵权,请联系博主删除!