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基于socket实现网络广播的方法
Apr 29 Python
Python数组遍历的简单实现方法小结
Apr 27 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python验证码识别教程之滑动验证码
Jun 04 Python
python使用正则筛选信用卡
Jan 27 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
python、PyTorch图像读取与numpy转换实例
Jan 13 Python
python实现控制台输出彩色字体
Apr 05 Python
Python Django路径配置实现过程解析
Nov 05 Python
pytorch __init__、forward与__call__的用法小结
Feb 27 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无限极分类函数的实现方法详解
2017/04/15 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
Python sys.argv用法实例
2015/05/28 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Django 视图层(view)的使用
2018/11/09 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
一套.net面试题及答案
2016/11/02 面试题
有个性的自我评价范文
2013/11/15 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2015年教务工作总结
2015/05/23 职场文书
初中语文教学随笔
2015/08/15 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python