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 相关文章推荐
PHP webshell检查工具 python实现代码
Sep 15 Python
Python中如何获取类属性的列表
Dec 26 Python
spyder常用快捷键(分享)
Jul 19 Python
Python实现ping指定IP的示例
Jun 04 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python实现逐个读取txt字符并修改
Dec 24 Python
Python2与Python3的区别实例总结
Apr 17 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 Python
python numpy中multiply与*及matul 的区别说明
May 26 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写出自己的BLOG系统 2
2010/04/12 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
2013/12/04 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python http基本验证方法
2018/12/26 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
大学生会计职业生涯规划范文
2014/02/28 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
群众路线教育实践活动实施方案
2014/10/31 职场文书
发布会邀请函
2015/01/31 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android