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中请使用isinstance()判断变量类型
Aug 25 Python
Python转换HTML到Text纯文本的方法
Jan 15 Python
Python中type的构造函数参数含义说明
Jun 21 Python
pandas.loc 选取指定列进行操作的实例
May 18 Python
Python使用add_subplot与subplot画子图操作示例
Jun 01 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
python 读取文件并替换字段的实例
Jul 12 Python
通过python扫描二维码/条形码并打印数据
Nov 14 Python
opencv3/C++图像像素操作详解
Dec 10 Python
django从后台返回html代码的实例
Mar 11 Python
Django choices下拉列表绑定实例
Mar 13 Python
10张动图学会python循环与递归问题
Feb 06 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
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
React实现轮播效果
2020/08/25 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
python中的迭代和可迭代对象代码示例
2017/12/27 Python
python-opencv颜色提取分割方法
2018/12/08 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python向excel中写入数据的方法
2019/05/05 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
python实现滑雪者小游戏
2020/02/22 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
通过cmd进入python的步骤
2020/06/16 Python
如何通过命令行进入python
2020/07/06 Python
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
大学新生军训个人的自我评价
2013/10/03 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
django上传文件的三种方式
2021/04/29 Python