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实现随机密码字典生成器示例
Apr 09 Python
python中的字典详细介绍
Sep 18 Python
python自动化测试之连接几组测试包实例
Sep 28 Python
用Python遍历C盘dll文件的方法
May 06 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
python3中sys.argv的实例用法
Apr 24 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
python基于turtle绘制几何图形
Jun 15 Python
Python max函数中key的用法及原理解析
Jun 26 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开启gzip页面压缩实例
2013/06/09 PHP
php中的动态调用实例分析
2015/01/07 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
jQuery 使用手册(六)
2009/09/23 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
JS功能代码集锦
2016/05/04 Javascript
js防阻塞加载的实现方法
2016/09/09 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
python 截取 取出一部分的字符串方法
2017/03/01 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
Python实现动态循环输出文字功能
2020/05/07 Python
python的pip有什么用
2020/06/17 Python
详解html5 postMessage解决跨域通信的问题
2018/08/17 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
升学宴主持词
2014/04/02 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
vue首次渲染全过程
2021/04/21 Vue.js
SpringBoot快速入门详解
2021/07/21 Java/Android
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技