python笔记之使用fillna()填充缺失值

 更新时间:2022年07月16日 11:48:10   作者:集音  
这篇文章主要介绍了python笔记之使用fillna()填充缺失值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用fillna()填充缺失值

df = pd.read_csv('ccf_offline_stage1_train.csv')
print(df['Distance'])
df['distance'] = df['Distance'].fillna(-1).astype(int)
print(df['distance'])

结果太长不展示了,经过操作后成功将dataframe中distance列的缺失值都变成了-1

关于fillna()函数详解

inplace参数的取值:True、False

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

method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None

  • pad/ffill:用前一个非缺失值去填充该缺失值
  • backfill/bfill:用下一个非缺失值填充该缺失值
  • None:指定一个值去替换缺失值(缺省默认这种方式)

limit参数:限制填充个数

axis参数:修改填充方向

#导包
import pandas as pd
import numpy as np
from numpy import nan as NaN
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1

代码结果:

一、不指定任何参数

1.  用常数填充

#一、不指定method参数
 
#1.用常数填充
print (df1.fillna(100))
print ("-----------------------")
print (df1)

运行结果:

2.  用字典填充

#2.用字典填充
df1.fillna({0:10,1:20,2:30})

运行结果:

二、指定inplace参数

#二、指定inplace参数
 
print (df1.fillna(0,inplace=True))
print ("-------------------------")
print (df1)

运行结果:

三、指定method参数

1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值

#三、指定method参数
 
df2 = pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3] = NaN
df2.iloc[2:4,4] = NaN
df2

运行结果:

#1.method = 'ffill'/'pad':用前一个非缺失值去填充该缺失值
 
df2.fillna(method='ffill')

运行结果:

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

#2.method = 'bflii'/'backfill':用下一个非缺失值填充该缺失值
 
df2.fillna(method='bfill')

运行结果:

四、指定limit参数

#四、指定limit参数
 
#用下一个非缺失值填充该缺失值
#只填充2个
 
df2.fillna(method='bfill', limit=2)

运行结果: 

五、指定axis参数

#五、指定axis参数
 
df2.fillna(method="ffill", limit=1, axis=1)

运行结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • APPium+Python编写真机移动端自动化脚本的项目实践

    APPium+Python编写真机移动端自动化脚本的项目实践

    本文主要介绍了APPium+Python编写真机移动端自动化脚本的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • python引入不同文件夹下的自定义模块方法

    python引入不同文件夹下的自定义模块方法

    今天小编就为大家分享一篇python引入不同文件夹下的自定义模块方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 对python xlrd读取datetime类型数据的方法详解

    对python xlrd读取datetime类型数据的方法详解

    今天小编就为大家分享一篇对python xlrd读取datetime类型数据的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python中selenium实现文件上传所有方法整理总结

    Python中selenium实现文件上传所有方法整理总结

    本篇文章主要介绍了Python中selenium实现文件上传所有方法整理总结,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • 关于Python的各种文件操作

    关于Python的各种文件操作

    这篇文章主要介绍了关于Python的各种文件操作,适合刚入门的小白或者对于文件操作基础不太牢固的同学,需要的朋友可以参考下
    2023-04-04
  • 解决TypeError: Object of type xxx is not JSON serializable错误问题

    解决TypeError: Object of type xxx is&

    这篇文章主要介绍了解决TypeError: Object of type xxx is not JSON serializable错误问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 浅析Python中正则表达式函数search()和match()的使用

    浅析Python中正则表达式函数search()和match()的使用

    在Python中,正则表达式是处理字符串的强大工具,search()和match()是Python标准库中re模块中两个常用的正则表达式方法,本文将详细讲解这两个方法的使用,需要的可以参考一下
    2023-08-08
  • Python Pandas数据合并pd.merge用法详解

    Python Pandas数据合并pd.merge用法详解

    在合并数据的操作中,除了pd.concat()函数,另一个常用的函数就是pd.merge()了,下面这篇文章主要给大家介绍了关于Python Pandas数据合并pd.merge用法的相关资料,需要的朋友可以参考下
    2022-08-08
  • Python中defaultdict与dict的差异详情

    Python中defaultdict与dict的差异详情

    这篇文章主要介绍了Python中defaultdict与dict的差异,在collections模块中的defauldict使用时与dict有何不同,为何我们用dict中的key值不存在时会报错,而defaudict不会报错,下面文章做出解答,需要的朋友可以参考一下
    2021-11-11
  • 解决python错误提示:TypeError: expected string or bytes-lik问题

    解决python错误提示:TypeError: expected string or&nb

    这篇文章主要介绍了解决python错误提示:TypeError: expected string or bytes-lik问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论