Pandas之Fillna填充缺失数据的方法


Posted in Python onJune 25, 2019

约定:

import pandas as pd
import numpy as np
from numpy import nan as NaN

填充缺失数据

fillna()是最主要的处理方式了。

df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
2 NaN NaN NaN
3 8.0 8.0 NaN

用常数填充:

df1.fillna(100)

代码结果:

0 1 2
0 1.0 2.0 3.0
1 100.0 100.0 2.0
2 100.0 100.0 100.0
3 8.0 8.0 100.0

通过字典填充不同的常数:

df1.fillna({0:10,1:20,2:30})

代码结果:

0 1 2
0 1.0 2.0 3.0
1 10.0 20.0 2.0
2 10.0 20.0 30.0
3 8.0 8.0 30.0

传入inplace=True直接修改原对象:

df1.fillna(0,inplace=True)
df1

代码结果:

0 1 2
0 1.0 2.0 3.0
1 0.0 0.0 2.0
2 0.0 0.0 0.0
3 8.0 8.0 0.0

传入method=” “改变插值方式:

df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3]=NaN;df2.iloc[2:4,4]=NaN
df2

代码结果:

0 1 2 3 4
0 6 6 2 4.0 1.0
1 4 7 0 NaN 5.0
2 6 5 5 NaN NaN
3 1 9 9 NaN NaN
4 4 8 1 5.0 9.0
df2.fillna(method='ffill')#用前面的值来填充

代码结果:

0 1 2 3 4
0 6 6 2 4.0 1.0
1 4 7 0 4.0 5.0
2 6 5 5 4.0 5.0
3 1 9 9 4.0 5.0
4 4 8 1 5.0 9.0

传入limit=” “限制填充个数:

df2.fillna(method='bfill',limit=2)

代码结果:

0 1 2 3 4
0 6 6 2 4.0 1.0
1 4 7 0 NaN 5.0
2 6 5 5 5.0 9.0
3 1 9 9 5.0 9.0
4 4 8 1 5.0 9.0

传入axis=” “修改填充方向:

df2.fillna(method="ffill",limit=1,axis=1)

代码结果:

0 1 2 3 4
0 6.0 6.0 2.0 4.0 1.0
1 4.0 7.0 0.0 0.0 5.0
2 6.0 5.0 5.0 5.0 NaN
3 1.0 9.0 9.0 9.0 NaN
4 4.0 8.0 1.0 5.0 9.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的条件语句与运算符优先级详解
Oct 13 Python
Python代码解决RenderView窗口not found问题
Aug 28 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
Python 操作文件的基本方法总结
Aug 10 Python
python中requests和https使用简单示例
Jan 18 Python
python XlsxWriter模块创建aexcel表格的实例讲解
May 03 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
python实现祝福弹窗效果
Apr 07 Python
简单了解python协程的相关知识
Aug 31 Python
python实现名片管理器的示例代码
Dec 17 Python
如何在python中实现线性回归
Aug 10 Python
Python urlopen()参数代码示例解析
Dec 10 Python
PYQT5实现控制台显示功能的方法
Jun 25 #Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 #Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 #Python
Pandas之ReIndex重新索引的实现
Jun 25 #Python
Python中使用__new__实现单例模式并解析
Jun 25 #Python
pyQt5实时刷新界面的示例
Jun 25 #Python
Pandas之MultiIndex对象的示例详解
Jun 25 #Python
You might like
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
url decode problem 解决方法
2011/12/26 PHP
php支付宝接口用法分析
2015/01/04 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
利用javascript查看html源文件
2006/11/08 Javascript
js停止输出代码
2008/07/20 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
Python中单、双下划线的区别总结
2017/12/01 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
python中def是做什么的
2020/06/10 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
白色公司:The White Company
2017/10/11 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
教育学专业实习生的自我鉴定
2013/11/26 职场文书
幼儿园家长寄语
2014/04/02 职场文书
毕业设计致谢语
2015/05/14 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书