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对两个有序列表进行合并和排序的例子
Jun 13 Python
使用Python开发windows GUI程序入门实例
Oct 23 Python
深入了解Python数据类型之列表
Jun 24 Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 Python
使用Python将数组的元素导出到变量中(unpacking)
Oct 27 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
Python使用dict.fromkeys()快速生成一个字典示例
Apr 24 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
Python代码太长换行的实现
Jul 05 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
python中pyqtgraph知识点总结
Jan 26 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使用DES进行加密与解密的方法详解
2013/06/06 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
详解Python中的文本处理
2015/04/11 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python中url标签使用知识点总结
2020/01/16 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
extern是什么意思
2016/03/10 面试题
小学英语教学反思案例
2014/02/04 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
企业党员公开承诺书
2014/03/26 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
初三数学教学反思
2016/02/17 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫