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内置数据类型详解
Aug 18 Python
Python的randrange()方法使用教程
May 15 Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
python matlibplot绘制3D图形
Jul 02 Python
Python Dataframe 指定多列去重、求差集的方法
Jul 10 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
python游戏开发的五个案例分享
Mar 09 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
May 18 Python
浅析python 字典嵌套
Sep 29 Python
Python创建自己的加密货币的示例
Mar 01 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中return的用法实例分析
2015/02/28 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
你必须知道的Javascript知识点之"单线程事件驱动"的使用
2013/04/23 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
我所理解的JavaScript中的this指向
2020/09/04 Javascript
python实现博客文章爬虫示例
2014/02/26 Python
Python字符串详细介绍
2015/05/09 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
python实现简易动态时钟
2018/11/19 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python async with和async for的使用
2019/06/20 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
python中怎么表示空值
2020/06/19 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
大学生志愿者感言
2014/01/15 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
市政管理求职信范文
2014/05/07 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
Java Redisson多策略注解限流
2022/09/23 Java/Android