6-Pandas之缺失值处理
一、了解缺失值
- 通常使用 NA('not available')来代指缺失值
- 在Pandas的数据结构中,缺失值使用 NaN('Not a Number')进行标识
除了汇总统计方法,还可以使用isnull()来对数据中缺失的样本占比、特征大致的缺失情况进行了解。
>>> df =pd.DataFrame({'one':pd.Series([1,2,3],index=['a','b','c']),
... 'two':pd.Series([1,3,2,7],index=['a','b','c','d']),
... 'three':pd.Series([3,8,3],index=['d','a','c'])})
>>> df
one two three
a 1.0 1 8.0
b 2.0 3 NaN
c 3.0 2 3.0
d NaN 7 3.0
#缺失值的数量分析
>>> df.isnull()
one two three
a False False False
b False False True
c False False False
d True False False
>>> df.isnull().sum()
one 1
two 0
three 1
dtype: int64
二、缺失值填充
使用fillna()方法进行缺失值填补
填充方式分为以下几种:
(1)使用同一个值填补所有的缺失值
>>> df.fillna('用我填充')
one two three
a 1 1 8
b 2 3 用我填充
c 3 2 3
d 用我填充 7 3
(2)向前填充、向后填充--->通过设置参数method参数来实现
| method参数 | 说明 |
| ffill或pad | 向前填充值 |
| bfill或backfill | 向后填充值 |
#向前填充
>>> df.fillna(method='pad')
one two three
a 1.0 1 8.0
b 2.0 3 8.0
c 3.0 2 3.0
d 3.0 7 3.0 #向后填充
>>> df.fillna(method='bfill')
one two three
a 1.0 1 8.0
b 2.0 3 3.0
c 3.0 2 3.0
d NaN 7 3.0
(3)对不同列的缺失值使用不同的值进行填补
可以使用列表的方式,如下:
>>> df.fillna({'one':1,'three':3})
one two three
a 1.0 1 8.0
b 2.0 3 3.0
c 3.0 2 3.0
d 1.0 7 3
(4)使用一个Pandas的自动对齐功能进行填补
这也是最常使用的一种方式
>>> df.fillna(df.mean())
one two three
a 1.0 1 8.000000
b 2.0 3 4.666667
c 3.0 2 3.000000
d 2.0 7 3.000000
6-Pandas之缺失值处理的更多相关文章
- Python Pandas找到缺失值的位置
python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺 ...
- pandas判断缺失值的办法
参考这篇文章: https://blog.csdn.net/u012387178/article/details/52571725 python pandas判断缺失值一般采用 isnull(),然而 ...
- Pandas对缺失值的处理
Pandas使用这些函数处理缺失值: isnull和notnull:检测是否是空值,可用于df和series dropna:丢弃.删除缺失值 axis : 删除行还是列,{0 or 'index', ...
- pandas 处理缺失值(连续值取平均,离散值fillna"<unk>")
# 2.1处理缺失值,连续值用均值填充 continuous_fillna_number = [] for i in train_null_ix: if(i in continuous_ix): me ...
- python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)
2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...
- Python数据分析之pandas学习
Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...
- Python pandas 0.19.1 Intro to Data Structures 数据结构介绍 文档翻译
官方文档链接http://pandas.pydata.org/pandas-docs/stable/dsintro.html 数据结构介绍 我们将以一个快速的.非全面的pandas的基础数据结构概述来 ...
- python 数据分析--pandas
接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ...
- Pandas 常见的基本方法
说明:文章所有内容均截选自实验楼教程[Pandas 使用教程],想要查看教程完整内容,点击教程即可~ 前言: Pandas 是非常著名的开源数据处理工具,我们可以通过它对数据集进行快速读取.转换.过滤 ...
- pandas常用
#python中的pandas库主要有DataFrame和Series类(面向对象的的语言更愿意叫类) DataFrame也就是#数据框(主要是借鉴R里面的data.frame),Series也就是序 ...
随机推荐
- SharePoint2013 上传文件到文档库
SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(SPContext.Current. ...
- 一个ACE 架构的 Socket Client
.h /************************************************************** * Filename: TcpClient.h * Copyrig ...
- vue项目chunk包loading失败解决办法
错误截图: 解决方法: // loading chunk 出错处理 router.onError((error) => { const pattern = /Loading chunk (\d) ...
- CSS/CSS3常用的样式兼容,样式总结
这篇文章这篇文章主要介绍了css中常用但是又难记的样式作为总结,方便大家学习和使用.包括了‘单行缩略号‘.’css圆角兼容'.‘元素阴影’,‘border取消宽度影响’,‘css3的背景渐变’,‘cs ...
- Scala数据结构(二)
一.集合的基础操作 1,head头信息 //获取集合的第一个元素 val list = List(,,) list.head // 2,tail尾信息 //获取集合除去头元素之外的所有元素 val l ...
- MySQL实验 子查询优化双参数limit
MySQL实验 子查询优化双参数limit 没想到双参数limit还有优化的余地,为了亲眼见到,今天来亲自实验一下. 实验准备 使用MySQL官方的大数据库employees进行实验,导入该示例库 ...
- efcore 跨表查询,实现一个接口内查询两个不同数据库里各自的表数据
最近有efcore跨库查询的需求,研究了下colder框架里文档的分库实现,发现并不能完全实现一个接口下的跨库查询请求,只能满足一个业务层构造指定的唯一一个数据库访问接口. 先说下文档是怎么实现的 D ...
- Idea 中 使用 devtools 热部署 spring-boot 应用 无需重新启动
描述: 在我们使用spring-boot开发时,如果在开发者调试项目,边修改边调试运行,如果每次修改 java文件或者配置文件后都需要重新启动程序,如果程序启动比较慢的化,每次修改一点东西都要重新启动 ...
- python os 模块的使用
1.显示当前文件的绝对路径: os.path.abspath(__file__) 2.显示当前文件父目录的路径 os.path.dirname(os.path.abspath(__file__name ...
- Python模块02/序列化/os模块/sys模块/haslib加密/collections
Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...