pandas检查和填充缺失值的N种方法总结
目录
- 一、构建示例数据
- 二、检查缺失值的n种方法
- 2.1 确认是否有缺失值的两种方法
- 2.2 查看缺失数目和缺失率
- 2.3 查看非缺失值数目
- 三、缺失值填充三种示例
一、构建示例数据
import pandas as pd import numpy as np data = {"ID":[202001, 202002, 202003, 202004, 202005, 202006, 202007, 202008, 202009, 202010], "Chinese":[98, 67, 84, 88, 78, 90, 93, np.nan, 82, 87], "Math":[92, 80, 73, np.nan, 88, 78, 90, 82, 77, 69], "English":[88, 79, 90, 73, 79, 83, 81, np.nan, 71, np.nan] } df = pd.DataFrame(data) df
二、检查缺失值的n种方法
2.1 确认是否有缺失值的两种方法
df.isnull().values.any()
True
df.isnull().sum().any()
True
2.2 查看缺失数目和缺失率
df.isnull().sum()
all_data_na = (df.isnull().sum()/len(df))*100 all_data_na = all_data_na.drop(all_data_na[all_data_na == 0].index).sort_values(ascending=False) missing_data = pd.DataFrame({'缺失率' : all_data_na}) missing_data
2.3 查看非缺失值数目
df.info()
df.shape[0] - df.isnull().sum()
df.notnull().sum()
三、缺失值填充三种示例
# 用上下平均值填充English df['English'] = df['English'].fillna(df['English'].interpolate()) df.head(10)
# 用中位数填充value列: df['Math'] = df['Math'].fillna(df['Math'].median()) df.head(10)
# 用-1填充Chinese列: df['Chinese'] = df['Chinese'].fillna(-1) df.head(10)
到此这篇关于pandas检查和填充缺失值的N种方法总结的文章就介绍到这了,更多相关pandas检查和填充缺失值内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Python Pandas对缺失值的处理方法
Pandas使用这些函数处理缺失值: isnull和notnull:检测是否是空值,可用于df和series dropna:丢弃.删除缺失值 axis : 删除行还是列,{0 or 'index', 1 or 'columns'}, default 0 how : 如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除 inplace : 如果为True则修改当前df,否则返回新的df fillna:填充空值 value:用于填充的值,可以是单个值,或者字典(key是列名,valu
-
pandas 使用均值填充缺失值列的小技巧分享
pd.DataFrame中通常含有许多特征,有时候需要对每个含有缺失值的列,都用均值进行填充,代码实现可以这样: for column in list(df.columns[df.isnull().sum() > 0]): mean_val = df[column].mean() df[column].fillna(mean_val, inplace=True) # -------代码分解------- # 判断哪些列有缺失值,得到series对象 df.isnull().sum() > 0
-
Python pandas处理缺失值方法详解(dropna、drop、fillna)
目录 面对缺失值三种处理方法: 对于option1: 对于option 2: 对于option3 总结 面对缺失值三种处理方法: option 1: 去掉含有缺失值的样本(行) option 2:将含有缺失值的列(特征向量)去掉 option 3:将缺失值用某些值填充(0,平均值,中值等) 对于dropna和fillna,dataframe和series都有,在这主要讲datafame的 对于option1: 使用DataFrame.dropna(axis=0, how='any', thres
-
Pandas缺失值2种处理方式代码实例
处理方式: 存在缺失值nan,并且是np.nan: 删除存在缺失值的:dropna(axis='rows') 替换缺失值:fillna(df[].mean(), inplace=True) 不是缺失值nan,有默认标记的 1.存在缺失值nan,并且是np.nan # 判断数据是否为NaN # pd.isnull(df),pd.notnull(df),pd.isna(df) # 读取数据 movie = pd.read_csv("./date/IMDB-Movie-Data.csv")
-
python解决pandas处理缺失值为空字符串的问题
踩坑记录: 用pandas来做csv的缺失值处理时候发现奇怪BUG,就是excel打开csv文件,明明有的格子没有任何东西,当然,我就想到用pandas的dropna()或者fillna()来处理缺失值. 但是pandas读取csv文件后发现那个空的地方isnull()竟然是false,就是说那个地方有东西... 后来经过排查发现看似什么都没有的地方有空字符串,故pandas认为那儿不是缺失值,所以就不能用dropna()或者fillna()来处理. 解决思路:先用正则将空格匹配出来,然后全部替
-
Python Pandas找到缺失值的位置方法
问题描述: python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺失数据的位置. 首先对于存在缺失值的数据,如下所示 import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10,6)) # Make a few areas have NaN values df.
-
pandas 缺失值与空值处理的实现方法
1.相关函数 df.dropna() df.fillna() df.isnull() df.isna() 2.相关概念 空值:在pandas中的空值是"" 缺失值:在dataframe中为nan或者naT(缺失时间),在series中为none或者nan即可 3.函数具体解释 DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) 函数作用:删除含有空值的行或列 axis:维度,axis=
-
pandas中NaN缺失值的处理方法
本文主要介绍了pandas中NaN缺失值的处理方法,主要有两种方法,具体如下: import pandas as pd 缺失值处理 两种方法: 删除含有缺失值的样本 替换/插补 处理缺失值为NaN 先判断数据中是否存在NaN,通过下面两个方法中任意一个 pd.isnull(dataframe) # dataframe为数据 如果数据中存在NaN返回True,如果没有就返回False pd.notnull(dataframe) 该方法与isnull相反 any() 和 all() ""&
-
Python Pandas中缺失值NaN的判断,删除及替换
目录 前言 1. 检查缺失值NaN 2. Pandas中NaN的类型 3. NaN的删除 dropna() 3.1 删除所有值均缺失的行/列 3.2 删除至少包含一个缺失值的行/列 3.3 根据不缺少值的元素数量删除行/列 3.4 删除特定行/列中缺少值的列/行 4. 缺失值NaN的替换(填充) fillna() 4.1 用通用值统一替换 4.2 为每列替换不同的值 4.3 用每列的平均值,中位数,众数等替换 4.4 替换为上一个或下一个值 总结 前言 当使用pandas读取csv文件时,如果元
-
pandas如何处理缺失值
在实际应用中对于数据进行分析的时候,经常能看见缺失值,下面来介绍一下如何利用pandas来处理缺失值.常见的缺失值处理方式有,过滤.填充. 一.缺失值的判断 pandas使用浮点值NaN(Not a Number)表示浮点数和非浮点数组中的缺失值,同时python内置None值也会被当作是缺失值. a.Series的缺失值判断 s = Series(["a","b",np.nan,"c",None]) print(s) ''' 0 a 1 b 2
随机推荐
- Angular指令之restict匹配模式的详解
- 系统命令检查是否被装木马
- IIS 各种身份验证详细测试第1/2页
- Java多线程编程中synchronized关键字的基础用法讲解
- php源码分析之DZX1.5字符串截断函数cutstr用法
- VC++实现选择排序算法简单示例
- php让图片可以下载的代码第1/2页
- Python 迭代器工具包【推荐】
- go语言接口用法实例分析
- JavaScript中的事件委托及好处
- jQuery学习笔记之总体架构
- jQuery+css实现炫目的动态块漂移效果
- vbs shellcode转换escape加密
- SQLSERVER 清除历史记录的方法
- Android中Service和Activity相互通信示例代码
- java中tomcat的80端口被占用问题解决
- Android编程实现ActionBar的home图标动画切换效果
- GCC 编译c程序的方法及过程解析
- android耳机左右声道接反具体修正方法
- 66et.net为您提供30M免费asp空间服务
其他
- linux下 python3 插入数据到oracle
- java 利用opencv调用摄像头
- ajax提交的表单数据后台php怎么获取
- IDEA2020.1创建eclipse工程
- redistemplate序列化和反序列化
- 用jieba进行中文分词、词性标注并统计中文词频
- 如何断点进入Tomcat内部
- 删除 全白的图 python
- double类型大根堆 java
- python中绘制饼状图案例
- mysql 如何存储null值
- go sturct定义与表中字段关系
- mybatis中foreach循环更新不执行
- lombok注解没生效
- .net core iis 打开404
- axios 同一个接口多次请求, 都使用第一次返回的数据
- python model 条件查找大于
- pyenv切换模块没有变过去
- python反向传播算法relu
- 怎么获取response.data