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的Django中django-userena组件的简单使用教程
May 30 Python
python简单获取数组元素个数的方法
Jul 13 Python
详解Django中的权限和组以及消息
Jul 23 Python
python开发之list操作实例分析
Feb 22 Python
Python数据类型详解(二)列表
May 08 Python
python中numpy基础学习及进行数组和矢量计算
Feb 12 Python
python下载文件记录黑名单的实现代码
Oct 24 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Python实现大数据收集至excel的思路详解
Jan 03 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
Python pip install之SSL异常处理操作
Sep 03 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php正则表达式学习笔记
2015/11/13 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
Python中Random和Math模块学习笔记
2015/05/18 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
python中有关时间日期格式转换问题
2019/12/25 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
使用Django清空数据库并重新生成
2020/04/03 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
html5 视频播放解决方案
2016/11/06 HTML / CSS
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
总经理职责范文
2013/11/08 职场文书
行政经理的岗位职责
2013/11/23 职场文书
高二历史教学反思
2014/01/25 职场文书
节能宣传周活动总结
2014/05/08 职场文书
完美的中文自荐信
2014/05/24 职场文书
六查六看剖析材料
2014/10/06 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
python process模块的使用简介
2021/05/14 Python