method:  pad/ffill:用前一个非缺失值去填充该缺失值,用左边的非缺失值去填充该缺失值

         backfill/bfill:用下一个非缺失值填充该缺失值,用右边的非缺失值去填充该缺失值

         None:指定一个值去替换缺失值(默认这种方式)

limit参数:限制填充个数

axis参数:修改填充方向,默认为纵向填充,axis=1的时候,横向填充

import numpy as np
df = pd.DataFrame( [[np.nan,2,np.nan,np.nan],
[3,4,88,np.nan],
[np.nan,np.nan,np.nan,'k'],
[np.nan,3,np.nan,np.nan]],
columns=list('ABCD'))
print(df)
print(df.fillna(100)) # 用常数填充
print(df.fillna({'A':'这是第一列的填充值'}))# 字典填充
print(df.fillna(method='backfill')) # 同bfill
print(df.fillna(method='pad')) # 同ffill
print(df.fillna(method='pad', limit=1)) # limit限制了只填充一个
print(df.fillna(method='pad', axis=1)) # axis为1时,横向填充
# A B C D
# 0 NaN 2.0 NaN NaN
# 1 3.0 4.0 88.0 NaN
# 2 NaN NaN NaN k
# 3 NaN 3.0 NaN NaN
# A B C D
# 0 100.0 2.0 100.0 100
# 1 3.0 4.0 88.0 100
# 2 100.0 100.0 100.0 k
# 3 100.0 3.0 100.0 100
# A B C D
# 0 这是第一列的填充值 2.0 NaN NaN
# 1 3 4.0 88.0 NaN
# 2 这是第一列的填充值 NaN NaN k
# 3 这是第一列的填充值 3.0 NaN NaN
# A B C D
# 0 3.0 2.0 88.0 k
# 1 3.0 4.0 88.0 k
# 2 NaN 3.0 NaN k
# 3 NaN 3.0 NaN NaN
# A B C D
# 0 NaN 2.0 NaN NaN
# 1 3.0 4.0 88.0 NaN
# 2 3.0 4.0 88.0 k
# 3 3.0 3.0 88.0 k
# A B C D
# 0 NaN 2.0 NaN NaN
# 1 3.0 4.0 88.0 NaN
# 2 3.0 4.0 88.0 k
# 3 NaN 3.0 NaN k
# A B C D
# 0 NaN 2 2 2
# 1 3 4 88 88
# 2 NaN NaN NaN k
# 3 NaN 3 3 3

参考:https://blog.csdn.net/weixin_39549734/article/details/81221276

源码:

1     def fillna(self, value=None, method=None, axis=None, inplace=False,
2 limit=None, downcast=None, **kwargs):
3 return super(DataFrame,
4 self).fillna(value=value, method=method, axis=axis,
5 inplace=inplace, limit=limit,
6 downcast=downcast, **kwargs)
7
8 @Appender(_shared_docs['shift'] % _shared_doc_kwargs)

fillna()函数的更多相关文章

  1. fillna()

    将下面注释掉 fillna() 函数:有一个inplace参数,默认为false,不会对原来dataframe中进行替换,为True时候会修改原来的.

  2. 从Excel到Python:最常用的36个Pandas函数

    本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗.预处理,以及最常见的数据分类,数据筛选,分类汇总,透视等最常见的操作. 生成数据表 常见的生成数据表的方法有两 ...

  3. 关于Excel,你一定用的到的36个Python函数

    从Excel到Python:最常用的36个Pandas函数关于Excel,你一定用的到的36个Python函数 本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗 ...

  4. 利用Python进行数据分析(10) pandas基础: 处理缺失数据

      数据不完整在数据分析的过程中很常见. pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据. pandas使用isnull()和notnull()函数来判断缺失情况. 对于缺失数据一般处理 ...

  5. 【转载】使用pandas进行数据清洗

    使用pandas进行数据清洗 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的 ...

  6. Python【8】-分析json文件

    一.本节用到的基础知识 1.逐行读取文件 for line in open('E:\Demo\python\json.txt'): print line 2.解析json字符串 Python中有一些内 ...

  7. Python数据分析之pandas学习

    Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...

  8. Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识

    第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...

  9. pandas处理丢失数据-【老鱼学pandas】

    假设我们的数据集中有缺失值,该如何进行处理呢? 丢弃缺失值的行或列 首先我们定义了数据集的缺失值: import pandas as pd import numpy as np dates = pd. ...

随机推荐

  1. CTS2018+1没去记&APIO2018+1游记

    bgm Tips:想知道为什么标题不是2019吗,请看评论区 Day -2 md上午才写一道题qwq 机房里一堆dalao都回家收东西去北京了qwq,我菜死了,cts都去不了QAQ 下午晚上也才肝了两 ...

  2. 广播即时通信src和des

    package 第十二章; import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddres ...

  3. C++函数声明与定义

    一个C++函数,如果没有函数声明而只有函数定义,程序照样运行,但要求这个函数定义必须放在main函数之前,否则编译按照从上到下的顺序扫描下来,就会出现编译器不认识它的情况. 如果一个程序同时有函数声明 ...

  4. listen - listen for connections on a socket 在一个套接字上倾听连接

    SYNOPSIS 概述 #include <sys/socket.h> int listen(int s, int backlog); DESCRIPTION 描述 在接收连接之前,首先要 ...

  5. Beta冲刺-(3/3)

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.cnbl ...

  6. Linux 安装 Composer

    Linux 安装 Composer  入门 练习环境: 虚拟机:Oracle VM VirtualBox. 系统:CentOS 7. 安装方式一: 参考网址:https://learnku.com/c ...

  7. 基本数据类型、包装类、String类型之间的相互转换

    @Testpublic void test2(){//基本数据类型.包装类-->到String类型的转换,调用String类型的静态方法valueOf()即可int i1 = 12;String ...

  8. 用doxygen+graphviz生成函数调用流程图

    https://www.jianshu.com/p/fe4b6b95dca5 注意点:由于使用到了Graphviz,所以要设置Dot选项,勾选HAVE_DOT,并设置DOT_PATH为Graphviz ...

  9. maven 查找依赖的办法

    maven 你需的jar包名称 repository 比如我要做EJB,我要找jboss-j2ee.jar的Dependency 就在GOOGLE里输入 maven jboss-j2ee reposi ...

  10. Python中decode与encode的区别

    摘抄: 字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符解码(decode)成unicode,再从unicode编码 ...