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发布模块的步骤分享
Feb 21 Python
python获取当前计算机cpu数量的方法
Apr 18 Python
python中json格式数据输出的简单实现方法
Oct 31 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 Python
深入了解Python iter() 方法的用法
Jul 11 Python
pycharm快捷键汇总
Feb 14 Python
如何理解Python中的变量
Jun 01 Python
python软件都是免费的吗
Jun 18 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
Django websocket原理及功能实现代码
Nov 14 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
php实现文件下载代码分享
2014/08/19 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Python2与Python3的区别点整理
2019/12/12 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
物理系毕业生自荐书范文
2014/02/22 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
学校教师读书活动总结
2014/07/08 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
精神病医院见习报告
2014/11/03 职场文书
郭明义电影观后感
2015/06/08 职场文书
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏