pandas 缺失值与空值处理的实现方法


Posted in Python onOctober 12, 2019

1.相关函数

  • df.dropna()
  • df.fillna()
  • df.isnull()
  • df.isna()

2.相关概念

空值:在pandas中的空值是""

缺失值:在dataframe中为nan或者naT(缺失时间),在series中为none或者nan即可

3.函数具体解释

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

函数作用:删除含有空值的行或列

axis:维度,axis=0表示index行,axis=1表示columns列,默认为0

how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列

thresh:一行或一列中至少出现了thresh个才删除。

subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)

inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。

例子:

df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
        "toy": [np.nan, 'Batmobile', 'Bullwhip'],
         "born": [pd.NaT, pd.Timestamp("1940-04-25"),pd.NaT]})
 
print df

pandas 缺失值与空值处理的实现方法

默认参数:删除行,只要有空值就会删除,不替换。

print df.dropna()
print df

pandas 缺失值与空值处理的实现方法

print "delete colums"
print df.dropna(axis=1) #delete col

pandas 缺失值与空值处理的实现方法

print "所有值全为缺失值才删除"
print df.dropna(how='all')

pandas 缺失值与空值处理的实现方法

print "至少出现过两个缺失值才删除"
print df.dropna(thresh=2)

pandas 缺失值与空值处理的实现方法

print "删除这个subset中的含有缺失值的行或列"
print df.dropna(subset=['name', 'born'])

pandas 缺失值与空值处理的实现方法

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

函数作用:填充缺失值

value:需要用什么值去填充缺失值

axis:确定填充维度,从行开始或是从列开始

method:ffill:用缺失值前面的一个值代替缺失值,如果axis =1,那么就是横向的前面的值替换后面的缺失值,如果axis=0,那么则是上面的值替换下面的缺失值。backfill/bfill,缺失值后面的一个值代替前面的缺失值。注意这个参数不能与value同时出现

limit:确定填充的个数,如果limit=2,则只填充两个缺失值。

示例:

df = pd.DataFrame([[np.nan, 2, np.nan, 0],
         [3, 4, np.nan, 1],
         [np.nan, np.nan, np.nan, 5],
        [np.nan, 3, np.nan, 4]],
         columns=list('ABCD'))
 
print df
 
print "横向用缺失值前面的值替换缺失值"
print df.fillna(axis=1,method='ffill')
 
print "纵向用缺失值上面的值替换缺失值"
print df.fillna(axis=0,method='ffill')

pandas 缺失值与空值处理的实现方法

print df.fillna(0)

pandas 缺失值与空值处理的实现方法

不同的列用不同的值填充:

pandas 缺失值与空值处理的实现方法

对每列出现的替换值有次数限制,此处限制为一次

pandas 缺失值与空值处理的实现方法

DataFrame.isna()

判断是不是缺失值:

pandas 缺失值与空值处理的实现方法

isnull同上。

替换空值:

df = pd.DataFrame([[np.nan, 2, np.nan, 0],
         [3, 4, "", 1],
         [np.nan, np.nan, np.nan, 5],
        [np.nan, 3, "", 4]],
         columns=list('ABCD'))
 
print df

pandas 缺失值与空值处理的实现方法

如上,缺失值是NAN,空值是没有显示。

替换空值代码:需要把含有空值的那一列提出来单独处理,然后在放进去就好。

clean_z = df['C'].fillna(0)
clean_z[clean_z==''] = 'hello'
df['C'] = clean_z
print df

pandas 缺失值与空值处理的实现方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过openpyxl生成Excel文件的方法
May 12 Python
Python聊天室实例程序分享
Jan 05 Python
matplotlib实现区域颜色填充
Mar 18 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
简单的Python调度器Schedule详解
Aug 30 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
在python中使用nohup命令说明
Apr 16 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 Python
python boto和boto3操作bucket的示例
Oct 30 Python
Linux系统下升级pip的完整步骤
Jan 31 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 #Python
Django1.11配合uni-app发起微信支付的实现
Oct 12 #Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 #Python
详解Python绘图Turtle库
Oct 12 #Python
Python中的list与tuple集合区别解析
Oct 12 #Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
Oct 12 #Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 #Python
You might like
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
jQuery使用height()获取高度需要注意的地方
2014/12/13 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
用python实现刷点击率的示例代码
2019/02/21 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
Linux常见面试题
2016/10/04 面试题
优秀党员获奖感言
2014/02/18 职场文书
聘任书模板
2014/03/29 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
单位作风建设自查报告
2014/10/23 职场文书
2014年环卫工作总结
2014/11/22 职场文书
学前班语言教学计划
2015/01/20 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
90条交通安全宣传标语
2019/10/12 职场文书