pandas对缺失值NaN处理
看下面这张图片,其中有缺失值NaN,处理数据时需要先对缺失值进行处理
1 .如何处理缺失值nan
获取缺失值的标记方式(NaN或者其他标记方式)
如果缺失值的标记方式是NaN
判断数据中是否包含NaN:
- pd.isnull(df), 【有缺失值时返回True,否则False】
- pd.notnull(df) 【与isnull相反】
存在缺失值nan:
1、删除存在缺失值的:dropna(axis='rows')
- 注:不会修改原数据,需要接受返回值
2、替换缺失值:fillna(value, inplace=True)
- value:替换成的值
- inplace:True:会修改原数据,False:不替换修改原数据,生成新的对象
如果缺失值没有使用NaN标记,比如使用"?"
- 先替换‘?’为np.nan,然后继续处理
2. 电影数据的缺失值处理
- 电影数据文件获取
# 读取电影数据
movie = pd.read_csv("./data/IMDB-Movie-Data.csv")
2.1 判断缺失值是否存在
- pd.notnull()
pd.notnull(movie)
Rank Title Genre Description Director Actors Year Runtime (Minutes) Rating Votes Revenue (Millions) Metascore
0 True True True True True True True True True True True True
1 True True True True True True True True True True True True
2 True True True True True True True True True True True True
3 True True True True True True True True True True True True
4 True True True True True True True True True True True True
5 True True True True True True True True True True True True
6 True True True True True True True True True True True True
7 True True True True True True True True True True False True
np.all(pd.notnull(movie))
- pd.isnull()
2.2 存在缺失值nan,并且是np.nan
- 1、删除
pandas删除缺失值,使用dropna的前提是,缺失值的类型必须是np.nan
# 不修改原数据
movie.dropna() # 有缺失值的那一行将会被删除# 可以定义新的变量接受或者用原来的变量名
data = movie.dropna()
- 2、替换缺失值
# 替换存在缺失值的样本的两列
# 替换填充平均值,中位数
# movie['Revenue (Millions)'].fillna(movie['Revenue (Millions)'].mean(), inplace=True)
替换所有缺失值:
for i in movie.columns:if np.all(pd.notnull(movie[i])) == False:print(i)movie[i].fillna(movie[i].mean(), inplace=True)
2.3 不是缺失值nan,有默认标记的
数据是这样的:
wis = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data")
以上数据在读取时,可能会报如下错误:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)>
解决办法:
# 全局取消证书验证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
处理思路分析:
- 1、先替换‘?’为np.nan
- df.replace(to_replace=, value=)
- to_replace:替换前的值
- value:替换后的值
- df.replace(to_replace=, value=)
# 把一些其它值标记的缺失值,替换成np.nan
wis = wis.replace(to_replace='?', value=np.nan)
- 2、进行缺失值的处理
# 删除
wis = wis.dropna()
pandas对缺失值NaN处理相关推荐
- Python pandas 空值缺失值(NaN)处理填充替换判断删除含缺失空值数据行
缺失值处理 判断 datats_code symbol name area industry list_date 0 000001.SZ 1.0 平安银行 深圳 银行 19910403 1 00000 ...
- 05_Pandas删除,替换并提取其中的缺失值NaN(dropna,fillna,isnull)
05_Pandas删除,替换并提取其中的缺失值NaN(dropna,fillna,isnull) 例如,当使用pandas读取csv文件时,如果元素为空,则将其视为缺失值NaN(非数字). 使用dro ...
- python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
我们在处理数据的时候,经常需要检查数据的质量,也需要知道出问题的数据在哪个位置.我找了很久,也尝试了很多办法,都没能找到一种非常直接的函数,本文所要介绍的是一种我认为比较方便的方法:np.where( ...
- pandas dataframe缺失值(np.nan)处理:识别缺失情况、删除、0值填补、均值填补、中位数填补、加缺失标签、插值填充详解及实例
pandas dataframe缺失值(np.nan)处理:识别缺失情况.删除.0值填补.均值填补.中位数填补.加缺失标签.插值填充详解及实例 isnull().natna().isna().fill ...
- python替换缺失值_详解Pandas 处理缺失值指令大全
前言 运用pandas 库对所得到的数据进行数据清洗,复习一下相关的知识. 1 数据清洗 1.1 处理缺失数据 对于数值型数据,分为缺失值(NAN)和非缺失值,对于缺失值的检测,可以通过Python中 ...
- python查询缺失值所在位置_Python Pandas找到缺失值的位置方法
问题描述: python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个 ...
- Python机器学习实战:如何用Pandas处理缺失值
机器学习实战:这里没有艰深晦涩的数学理论,我们将用简单的案例和大量的示例代码,向大家介绍机器学习的核心概念.我们的目标是教会大家用Python构建机器学习模型,解决现实世界的难题. 现实和教程最大的区 ...
- pandas判断缺失值的办法
参考这篇文章: https://blog.csdn.net/u012387178/article/details/52571725 python pandas判断缺失值一般采用 isnull(),然而 ...
- python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行。
python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行. import pandas as pd import numpy as np df1 = pd.Data ...
最新文章
- 推荐一套开源通用后台管理系统
- 当null检查非常失败时
- sql设置id自动增长_JDBC进阶(一):批处理与获取自增长列的值
- ubuntu 修该rm命令使删除文件到回收站
- C语言读取图像像素坐标,求指导,如何用c语言实现读取*.raw格式图像
- JS执行Promise
- 1.极限——ε-δ例子_7
- scrapy_redis 相关: 将 jobdir 保存的爬虫进度转移到 Redis
- 68. 使用Apache的rewrite技术
- 【C语言开源项目】盘点 GitHub 上不错的 4 个C语言项目
- 常用的公共数据集(二)
- VS2008当前页面脚本发生错误
- 目前有哪些好用的测试管理工具?
- 进程间通讯 rcf应用简介
- 2018 谷歌 Google I/O 简介 总结
- 密码库LibTomCrypt学习记录——(2.25)分组密码算法的工作模式——EAX加密认证模式
- Go学习笔记 -- 异常处理
- HTTPS详解及HTTPS实验
- rtx服务器设置 文件,rtx 服务器 文件传输 配置
- openlayers6【十】EPSG:3857和EPSG:4326区别详解
热门文章
- 联手中科大、浙大、华科大等高校,阿里研发4项最新AI安全技术
- 针对《评人工智能如何走向新阶段》一文,继续发布国内外的跟贴留言449-456条如下:
- 训练数据也外包?这家公司“承包”了不少注释训练数据,原来是这样做的……...
- 数十名工程师作战5天,阿里达摩院连夜研发智能疫情机器人
- 阿里团队最新实践:如何解决大规模分类问题?
- 599元的智能视频音箱发布,百度准备补贴几个亿?
- AI一分钟 | 万达网科裁员95%高达5000余人,被爆下一步将转型AI; 英伟达放话了:研究人员放心用,不更新驱动就没啥事儿
- 我亲手调教的AI,竟然开始歧视我了!
- Mysql 宕机引发索引丢失很可怕,文件 IO 中如何保证掉电不丢失数据?
- RabbitMQ 延迟队列,太实用了!