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类继承用法实例分析
Oct 10 Python
Python Matplotlib库入门指南
May 18 Python
django 发送手机验证码的示例代码
Apr 25 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
python中单例常用的几种实现方法总结
Oct 13 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
python实现登录密码重置简易操作代码
Aug 14 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
利用Python将多张图片合成视频的实现
Nov 23 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扩展Memcache分布式部署方案
2015/12/06 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
javascript new一个对象的实质
2010/01/07 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
python版本的读写锁操作方法
2016/04/25 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
python 变量初始化空列表的例子
2019/11/28 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
建筑人员岗位职责
2013/12/25 职场文书
大家检讨书5000字
2014/02/03 职场文书
客服部工作职责范本
2014/02/14 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
医院志愿者活动总结
2015/05/06 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
python 判断文件或文件夹是否存在
2022/03/18 Python
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android