资讯专栏INFORMATION COLUMN

pandas使用fillna函数填充NaN值的代码实例

89542767 / 518人阅读


  小编写这篇文章的主要目的,还是用来给大家讲解一些案例,给大家讲解一下具体的一些使用法则,包括使用fillna函数填充NaN值,下面给大家做一个比较详细的解答。


  1.参数解析


  1.1inplace参数


  取值:True、False


  True:直接修改原对象


  False:创建一个副本,修改副本,原对象不变(缺省默认)


  1.2method参数


  取值:{‘pad’,‘ffill’,‘backfill’,‘bfill’,None},defaultNone


  pad/ffill:用前一个非缺失值去填充该缺失值


  backfill/bfill:用下一个非缺失值填充该缺失值


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


  1.3limit参数:


  限制填充个数


  1.4axis参数


  修改填充方向


  补充


  isnull和notnull函数用于判断是否有缺失值数据


  isnull:缺失值为True,非缺失值为False


  notnull:缺失值为False,非缺失值为True


  2.代码实例


 #导包
  importpandasaspd
  importnumpyasnp
  fromnumpyimportnanasNaN
  df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
  df1


  代码结果:


  012


  01.02.03.0


  1NaNNaN2.0


  2NaNNaNNaN


  38.08.0NaN


  2.1常数填充


  2.1.1用常数填充


  #1.用常数填充
  print(df1.fillna(100))
  print("-----------------------")
  print(df1)


  运行结果:


  012


  01.02.03.0


  1100.0100.02.0


  2100.0100.0100.0


  38.08.0100.0


  -----------------------


  012


  01.02.03.0


  1NaNNaN2.0


  2NaNNaNNaN


  38.08.0NaN


  2.1.2用字典填充


  第key列的NaN用key对应的value值填充


df1.fillna({0:10,1:20,2:30})


  运行结果:


  012


  01.02.03.0


  110.020.02.0


  210.020.030.0


  38.08.030.0


  2.2使用inplace参数


print(df1.fillna(0,inplace=True))
  print("-------------------------")
  print(df1)

  运行结果:


  在这里插入代码片


  2.3使用method参数


 1.method='ffill'/'pad':用前一个非缺失值去填充该缺失值
  df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
  df2.iloc[1:4,3]=None
  df2.iloc[2:4,4]=None
  print(df2)
  print("-------------------------")
  print(df2.fillna(method='ffill'))


  运行结果:


  01234


  08445.06.0


  1528NaN7.0


  2631NaNNaN


  3549NaNNaN


  46546.09.0


  -------------------------


  01234


  08445.06.0


  15285.07.0


  26315.07.0


  35495.07.0


  46546.09.0


  2.method=‘bflii’/‘backfill’:用下一个非缺失值填充该缺失值


 df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
  df2.iloc[1:4,3]=None
  df2.iloc[2:4,4]=None
  print(df2)
  print("-------------------------")
  print(df2.fillna(method='bfill'))


  运行结果:


  01234


  01041.03.0


  1464NaN2.0


  2492NaNNaN


  3973NaNNaN


  46135.05.0


  -------------------------


  01234


  01041.03.0


  14645.02.0


  24925.05.0


  39735.05.0


  46135.05.0


  2.4使用limit参数


  用下一个非缺失值填充该缺失值且每列只填充2个


 df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
  df2.iloc[1:4,3]=None
  df2.iloc[2:4,4]=None
  print(df2)
  print("-------------------------")
  print(df2.fillna(method='bfill',limit=2))


  运行结果:


  01234


  02044.00.0


  1799NaN1.0


  2173NaNNaN


  3858NaNNaN


  48624.04.0


  -------------------------


  01234


  02044.00.0


  1799NaN1.0


  21734.04.0


  38584.04.0


  48624.04.0


  2.5使用axis参数


axis=0对每列数据进行操作
  axis=1对每行数据进行操作
  df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
  df2.iloc[1:4,3]=None
  df2.iloc[2:4,4]=None
  print(df2.fillna(method="ffill",limit=1,axis=1))


  运行结果:


  01234


  00.04.09.07.02.0


  16.05.00.00.03.0


  28.08.08.08.0NaN


  35.05.06.06.0NaN


  47.05.07.04.01.0


  总结,小编就为大家介绍到这里了,希望可以给读者带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127852.html

相关文章

  • 【数据科学系统学习】Python # 数据分析基本操作[二] pandas

    摘要:中面向行和面向列的操作基本是平衡的。用层次化索引,将其表示为更高维度的数据。使用浮点值表示浮点和非浮点数组中的缺失数据。索引的的格式化输出形式选取数据子集在内层中进行选取层次化索引在数据重塑和基于分组的操作中很重要。 我们在上一篇介绍了 NumPy,本篇介绍 pandas。 pandas入门 Pandas 是基于Numpy构建的,让以NumPy为中心的应用变的更加简单。 pandas...

    jayzou 评论0 收藏0
  • PythonpandasDataFrame基础运算及空值填充详解

        小编写这篇文章的主要目的,是给大家介绍一下关于python中的一些实例,比如,其中,会给大家讲到,Python中基础值的一些运算,以及当我们遇到空的数值的时候,一些处理方法,下面给大家做一个详细的解答。  前言  今天我们一起来聊聊DataFrame中的索引。  上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如iloc、loc以及逻辑索引等等。今天的文章...

    89542767 评论0 收藏0
  • pandas进行数据预处理的实例讲解

    摘要:引入包和加载数据清洗数据查看数据维度以及类型缺失值处理查看数据统计信息数值属性离散化计算特征与属性之间关系查看数据维度以及类型查看前五条数据查看每列数据类型以及情况获得所有属性查看数据统计信息查看连续数值属性基本统计情况查看属性数据统计情况 引入包和加载数据 12345import pandas as pdimport numpy as nptrain_df =pd.read_csv(...

    psychola 评论0 收藏0
  • Pandas库基础分析——数据规整化处理

    摘要:前言在数据分析和建模之前需要审查数据是否满足数据处理应用的要求,以及对数据进行清洗,转化,合并,重塑等一系列规整化处理。通过数据信息查看可知数据中存在缺失值,比如各存在个,各存在个。 前言 在数据分析和建模之前需要审查数据是否满足数据处理应用的要求,以及对数据进行清洗,转化,合并,重塑等一系列规整化处理。pandas标准库提供了高级灵活的方法,能够轻松地将数据规整化为正确的形式,本文通...

    roundstones 评论0 收藏0
  • 数据科学

    摘要:资料分析资料筛选侦测缺失值补齐缺失值资料转换处理时间格式数据重塑资料学习正规运算式处理资料格式,提供高效能,简易使用的数据格式让用户可以快速操作及分析资料。使用平均数,中位数,众数等叙述性统计补齐缺失值。 有90%的有用数据,都在数据库中。 数据 数据类型 定性数据: 叙述特征或种类,例如:种族,区域。 定量数据: 可以被计数或测量,例如:身高,消费金额。 定量数据 离散数据只能...

    anquan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<