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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
Python3读取文件常用方法实例分析
May 22 Python
玩转python爬虫之cookie使用方法
Feb 17 Python
Python开发的HTTP库requests详解
Aug 29 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
使用turtle绘制五角星、分形树
Oct 06 Python
Django如何继承AbstractUser扩展字段
Nov 27 Python
详解pycharm自动import所需的库的操作方法
Nov 30 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 gzip压缩输出的实现方法
2013/04/27 PHP
php 如何获取数组第一个值
2013/08/06 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
学习ExtJS Column布局
2009/10/08 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python验证码识别处理实例
2015/12/28 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
什么是设计模式
2012/06/17 面试题
工作会议欢迎词
2014/01/16 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
优秀志愿者感言
2015/08/01 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS