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制作简单的钢琴程序的教程
Apr 01 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Python算法应用实战之队列详解
Feb 04 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
python与字符编码问题
May 24 Python
python字符串的拼接方法总结
Nov 18 Python
基于Python实现扑克牌面试题
Dec 11 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
Django视图类型总结
Feb 17 Python
python神经网络ResNet50模型
May 06 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输出Excel文件类
2010/02/08 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
FF IE兼容性的修改小结
2009/09/02 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
python pycurl验证basic和digest认证的方法
2018/05/02 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
制药工程专业应届生求职信
2013/09/24 职场文书
仓库文员岗位职责
2014/04/06 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
门店业绩提升方案
2014/06/08 职场文书
事业单位考察材料范文
2014/12/25 职场文书
护士求职自荐信范文
2015/03/04 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android