系列文章目录
python数据分析(一)——series和读取外部数据
python数据分析(二)——DataFrame


缺失值处理

  • 一、数据缺失

一、数据缺失

数据缺失通常有两种情况;
一种就是空,None等,在pandas是NaN(和np.nan一样),另一种是人为赋值为0的数据

对于NaN的数值:
判断数据是否为NaN:pd.isnull(t)或者pd.notnull(t)

判断nan出现情况


In [45]: t
Out[45]: w    x   y   z
a  0.0  1.0   2   3
b  NaN  NaN   6   7
c  NaN  NaN  10  11In [47]: pd.isnull(t)
Out[47]: w      x      y      z
a  False  False  False  False
b   True   True  False  False
c   True   True  False  FalseIn [48]: pd.notnull(t)
Out[48]: w      x     y     z
a   True   True  True  True
b  False  False  True  True
c  False  False  True  TrueIn [49]:t[pd.notnull(t["w"])]
Out[49]: w    x  y  z
a  0.0  1.0  2  3

处理方式一删除NaN所在的行列

#只要有一个nan就删掉,inplace是否将删掉之后的数组替换掉之前的数组,即原地修改:
dropna(axis=0,how=‘any’,inplace=False)
#这一行全部为nan时删掉:
dropna(axis=0,how=‘all’,inplace=False)

删除数据

In [50]: t.dropna(axis=0,how='any')
Out[50]: w    x  y  z
a  0.0  1.0  2  3In [51]: t.dropna(axis=0,how='all')
Out[51]: w    x   y   z
a  0.0  1.0   2   3
b  NaN  NaN   6   7
c  NaN  NaN  10  11In [52]:
# 原地修改
t.dropna(axis=0,how="any",inplace=True)
In [53]: t
Out[53]: w    x  y  z
a  0.0  1.0  2  3

处理方式二填充数据

t.fillna(t.mean()), t.fiallna(t.median()),t.fillna(0)

填充数据

In [60]: t3
Out[60]: name  age      tel
0  xiaohong   32  10086.0
1  xiaogang  NaN  10000.0
2  xiaowang   22      NaNIn [61]: t3.fillna(0)
Out[61]: name age      tel
0  xiaohong  32  10086.0
1  xiaogang   0  10000.0
2  xiaowang  22      0.0In [71]:t3 = [{"name":'xiaohong', "age":32, "tel":10010}, {"name":"xiaogang","tel":10000}, {"name":"xiaowang", "age":22}]
In [72]:t3 = pd.DataFrame(t3)In [73]: t3
Out[73]: name   age      tel
0  xiaohong  32.0  10010.0
1  xiaogang   NaN  10000.0
2  xiaowang  22.0      NaNIn [74]: t3.mean()
Out[74]:
age       27.0
tel    10005.0
dtype: float64In [75]: t3.fillna(t3.mean())
Out[75]: name   age      tel
0  xiaohong  32.0  10010.0
1  xiaogang  27.0  10000.0
2  xiaowang  22.0  10005.0# 只对其中某一列操作
In [85]: t3["age"].fillna(t3["age"].mean())
Out[85]:
0    32.0
1    27.0
2    22.0
Name: age, dtype: float64

处理为0的数据:t[t==0]=np.nan
并不是每次为0的数据都需要处理,计算平均值等情况,nan是不参与计算,但是0会

python数据分析(三)——pandas缺失值处理相关推荐

  1. python常用命令汇总-python数据分析之pandas常用命令整理

    原标题:python数据分析之pandas常用命令整理 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型 ,提供了高效地 ...

  2. python 数据分析day4 Pandas 之 DataFrame

    DataFrame 一. 创建DataFrame 1. 二维数组创建 2. 字典创建 3. JSON创建 4. 读取Excel或CSV文件创建 5. 读数据库(MySQL)创建 二. 常用属性 三. ...

  3. Python数据分析之Pandas库

    Python数据分析之Pandas库 一.Pandas简介 二.Pandas库的安装 三.Pandas的数据结构 四.Series 和 DataFrame 数据结构的使用 五.其他可以参考的网站 一. ...

  4. excel处置4000行数据卡_懂Excel就能轻松入门Python数据分析包pandas(三):制作成绩条...

    系列文章: 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死.后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器-- pandas 前言 很 ...

  5. 用python做成绩分析做表格_excel成绩表-懂Excel就能轻松入门Python数据分析包pandas(三):制作成绩条...

    转发本文并私信我"python",即可获得Python资料以及各种心得(持续更新的) 经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死.后来 ...

  6. (转载)Python数据分析之pandas学习

    转载地址:http://www.cnblogs.com/nxld/p/6058591.html Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容: 1.数据 ...

  7. Python数据分析之pandas学习

    Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容: 1.数据结构简介:DataFrame和Series 2.数据索引index 3.利用pandas查询数据 ...

  8. python 数据分析核心--pandas

    前言 Python作为一门数据可视化很好的语言,可以使用像matplotlib等库画出图形,处理数据主要使用pandas 这里主要讨论Pandas 初识pandas 大多数人只要提及pandas,基本 ...

  9. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

最新文章

  1. Linux-鸟菜-5-目录配置-FHS
  2. 图形驱动程序和显卡驱动什么区别_什么是核心显卡,核心显卡和集成显卡的区别...
  3. Java笔记(3) - 使用Spring Cloud Zookeeper + Feign实现服务发现
  4. oracle---函数(trunc,nvl,nvl2)
  5. linux关闭内核命令,Linux内核关闭IPv6协议的方式
  6. www.beihua.edu.cn计划摘录
  7. asp还有人用吗_中药都安全吗?服用这些中药需要注意
  8. 江苏大学矩阵论、数理统计期末考试复习
  9. php 开源邮件系统,20款 Web Mail PHP开源项目
  10. 影视之观大秦帝国之裂变总结
  11. html5中加水平分割线,HTML设置水平分割线
  12. Linux CentOS 大数据集群的基础配置(3) CHD分布式环境搭建
  13. 新手演讲:走上演讲台的第一步
  14. 前端推荐的书籍学习(必看)
  15. C语言经典面试题10道(七)
  16. [置顶] 增强型的FLEA_Db_TableDataGateway,提供按字段名称操作的功能
  17. Kubeadm部署-Kubernetes-1.18.6集群
  18. iPad air 1 7.1.2升级IOS 11
  19. rtl8812驱动分析(二)
  20. 视频会议系统gk服务器,华为视频会议系统中的终端如何通过GK发起呼叫

热门文章

  1. Visiom Transformer 代码实现--ViT
  2. 非标自动化设备发展现状如何?
  3. python爬虫爬取微信_Python爬虫爬取微信小程序
  4. libjpeg库使用举例
  5. error LNK2001: 无法解析的外部符号 __imp__WSAGetLastError@0
  6. 短域名系统设计详解(全)
  7. 英特尔采用 LLVM 作为最新 C/C++ 编译器
  8. c语言 计算在10个学生的平均成绩,C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分的学生的人数。...
  9. 微信小程序入门-音乐播放器
  10. svn使用openldap验证apache访问方式