python pandas利用fillna方法实现部分自动填充功能


Posted in Python onMarch 16, 2020

昨天,我们学习了pandas中的dropna方法,今天,学习一下fillna方法。该方法的主要作用是实现对NaN值的填充功能。该方法主要有3个参数,分别是:value,method,limit等。其余参数可以通过调用help函数获取信息。

(1)value

该参数主要是确定填充数值

>>> df = pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df
  name Chinese Chinese.1  id
0  bob  12.0   12 123.0
1 millor  NaN   32 124.0
2 jiken  89.0   89 NaN
3 jiken  89.0   89 125.0
# 默认将所有值均填充为0
>>> df.fillna(0)
  name Chinese Chinese.1  id
0  bob  12.0   12 123.0
1 millor  0.0   32 124.0
2 jiken  89.0   89 0.0
3 jiken  89.0   89 125.0

# 也可以通过字典控制每列传什么值
>>> my_dict = {'Chinese' : 92, 'id' : 98}
>>> df.fillna(my_dict)
  name Chinese Chinese.1  id
0  bob  12.0   12 123.0
1 millor  92.0   32 124.0
2 jiken  89.0   89 98.0
3 jiken  89.0   89 125.0

2、method参数

该参数主要控制自动填充,是向上填充还是向下填充
method : {‘backfill', ‘bfill', ‘pad', ‘ffill', None}, default None
pad / ffill: 向下自动填充
backfill / bfill: 向上自动填充

# 向下
>>> df.fillna(method='ffill')
  name Chinese Chinese.1  id
0  bob  12.0   12 123.0
1 millor  12.0   32 124.0
2 jiken  89.0   89 124.0
3 jiken  89.0   89 125.0

# 向上
>>> df.fillna(method='bfill')
  name Chinese Chinese.1  id
0  bob  12.0   12 123.0
1 millor  89.0   32 124.0
2 jiken  89.0   89 125.0
3 jiken  89.0   89 125.0

3、limit参数

该参数类似于mysql中的limit。向上或者向下填充时控制最大填充前几行

# 限制自动填充最大填充1行。
>>> df.fillna(method = 'bfill', limit=1)
  name Chinese Chinese.1  id
0  bob  12.0   12 123.0
1 millor  89.0   32 124.0
2 jiken  89.0   89 125.0
3 jiken  89.0   89 125.0

哈哈,以上就是关于fillna方法的介绍。
关于,isna方法很好理解,判断是否为NaN值

>>> df.isna()
 name Chinese Chinese.1  id
0 False False  False False
1 False  True  False False
2 False False  False True
3 False False  False False
>>>

总结

到此这篇关于python pandas通过fillna方法实现部分自动填充功能的文章就介绍到这了,更多相关python pandas fillna自动填充内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用python实现面向对像的ASP程序实例
Nov 10 Python
Python实现二维有序数组查找的方法
Apr 27 Python
Python selenium抓取微博内容的示例代码
May 17 Python
简单谈谈python基本数据类型
Sep 26 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
python实现大文本文件分割
Jul 22 Python
python with (as)语句实例详解
Feb 04 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
解决Django Haystack全文检索为空的问题
May 19 Python
实例代码讲解Python 线程池
Aug 24 Python
python小程序之飘落的银杏
Apr 17 Python
Python Flask上下文管理机制实例解析
Mar 16 #Python
Python threading.local代码实例及原理解析
Mar 16 #Python
python实现ssh及sftp功能(实例代码)
Mar 16 #Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
Mar 16 #Python
Django ValuesQuerySet转json方式
Mar 16 #Python
Django 再谈一谈json序列化
Mar 16 #Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 #Python
You might like
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
Django中Model的使用方法教程
2018/03/07 Python
python:print格式化输出到文件的实例
2018/05/14 Python
python3中zip()函数使用详解
2018/06/29 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
商务英语应届生自我鉴定
2013/12/08 职场文书
学生吸烟检讨书
2014/09/14 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
学习十八大宣传标语
2014/10/09 职场文书
营销计划书
2015/01/17 职场文书
《叶问2》观后感
2015/06/15 职场文书
诚信教育主题班会
2015/08/13 职场文书