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实现在线程里运行scrapy的方法
Apr 07 Python
python中模块查找的原理与方法详解
Aug 11 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
python实现的按要求生成手机号功能示例
Oct 08 Python
Python之Class&Object用法详解
Dec 25 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
Python开发简易五子棋小游戏
May 02 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的FTP学习(一)
2006/10/09 PHP
默默小谈PHP&MYSQL分页原理及实现
2007/01/02 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
生产部经理岗位职责
2013/12/16 职场文书
初三政治教学反思
2014/01/30 职场文书
经理岗位职责范本
2015/04/15 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
教你如何用cmd快速登录服务器
2022/06/10 Servers