处理缺失数据

对于数值数据,pandas使用浮点值NaN(Not a Number)表示缺失数据。我们称其为哨兵值。

滤除缺失数据

过滤掉缺失数据的办法有很多种。你可以通过pandas.isnull或布尔索引的手工方法,但dropna可能会更实用一些。对于一个Series,dropna返回一个仅含非空数据和索引值的Series:

In [15]: from numpy import nan as NAIn [16]: data = pd.Series([1, NA, 3.5, NA, 7])In [17]: data.dropna()
Out[17]:
0    1.0
2    3.5
4    7.0
dtype: float64

填充缺失数据

通过一个常数调用fillna就会将缺失值替换为那个常数值:

In [27]: df = pd.DataFrame(np.random.randn(7, 3))In [28]: df.iloc[:4, 1] = NAIn [29]: df.iloc[:2, 2] = NAIn [30]: df
Out[30]: 0         1         2
0 -0.204708       NaN       NaN
1 -0.555730       NaN       NaN
2  0.092908       NaN  0.769023
3  1.246435       NaN -1.296221
4  0.274992  0.228913  1.352917
5  0.886429 -2.001637 -0.371843
6  1.669025 -0.438570 -0.539741
In [33]: df.fillna(0)
Out[33]: 0         1         2
0 -0.204708  0.000000  0.000000
1 -0.555730  0.000000  0.000000
2  0.092908  0.000000  0.769023
3  1.246435  0.000000 -1.296221
4  0.274992  0.228913  1.352917
5  0.886429 -2.001637 -0.371843
6  1.669025 -0.438570 -0.539741

通过一个字典调用fillna,就可以实现对不同的列填充不同的值

In [34]: df.fillna({1: 0.5, 2: 0})
Out[34]: 0         1         2
0 -0.204708  0.500000  0.000000
1 -0.555730  0.500000  0.000000
2  0.092908  0.500000  0.769023
3  1.246435  0.500000 -1.296221
4  0.274992  0.228913  1.352917
5  0.886429 -2.001637 -0.371843
6  1.669025 -0.438570 -0.539741

数据转换

移除重复数据

In [45]: data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'],....:                      'k2': [1, 1, 2, 3, 3, 4, 4]})In [46]: data
Out[46]: k1  k2
0  one   1
1  two   1
2  one   2
3  two   3
4  one   3
5  two   4
6  two   4

DataFrame的duplicated方法返回一个布尔型Series,表示各行是否是重复行(前面出现过的行)

In [47]: data.duplicated()
Out[47]:
0    False
1    False
2    False
3    False
4    False
5    False
6     True
dtype: bool

转载于:https://www.cnblogs.com/helloluo/p/9751609.html

数据分析学习笔记4-----处理缺失数据相关推荐

  1. 数据分析学习笔记—python数据类型与数据容器

    文章目录 1.python标准数据类型 2.python数据容器概念 3.python数据容器思维导图 1.python标准数据类型 2.python数据容器概念 容器类数据模型,从个人角度理解来说, ...

  2. python数据分析学习笔记——numpy来实现数据拟合

    最近在学习python数据分析,做个笔记记录一下代码,今天是用numpy拟合了一组数据. 先贴拟合的效果出来,蓝色的点是用np生成的20个点,红线是拟合出来的曲线: 下面是代码: import mat ...

  3. 数据分析学习笔记——数据可视化

    数据分析学习笔记系列--数据可视化 总第45篇 ▼ 写在前面: 本篇来源于书籍<数据之美-一本书学会可视化设计>的学习后整理所得.全篇主要围绕数据可视化的5个步骤展开,其中重点内容是第三步 ...

  4. Python数据分析学习笔记:使用SciKit-Learn进行数据规范化

    Python数据分析学习笔记:使用SciKit-Learn进行数据规范化 数据规范化是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果 ...

  5. Python数据分析学习笔记:计算向量夹角

    Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...

  6. Python数据分析学习笔记:计算相关系数

    Python数据分析学习笔记:计算相关系数 1.相关系数概念 相关系数,或称线性相关系数.皮氏积矩相关系数(Pearson product-moment correlation coefficient ...

  7. Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

  8. python客户画像_Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

  9. 数据分析学习笔记-数据分析预备知识

    数据分析学习笔记 数据分析预备知识

最新文章

  1. colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测
  2. tinyxml 读取文本节点_TinyXml 读写XML文件
  3. SAP QM 检验批上各个MIC质检结果的查询报表?
  4. python培训学费多少钱-培训python学费多少python学会得多少钱?
  5. 《图解HTTP》读书笔记--第8章 确认访问用户身份的认证
  6. 读书笔记《单核工作法》_4原理4,5
  7. nginx 根据IP 进行灰度发布
  8. 牛客挑战赛48C-铬合金之声【Prufer序列】
  9. android实现推送方式解决方案,Android实现推送方式解决方案系列教程
  10. git 修改已提交的 commit
  11. C# StreamReader.ReadLine统计行数的问题
  12. 删除数据oracle,oracle删除数据
  13. Word中输入10以上带圈数字
  14. win10系统怎么把语言栏弄回去
  15. 手把手教你手工焊接贴片元件(图文教程)
  16. 为基于GTK/CLUTTER的库增加GJS支持
  17. 3D家居设计展示系统
  18. dingo php,laravel 中安装 Dingo API 基本设置
  19. 储存数据与操作Excel [爬虫专题(9)]
  20. 三层vxlan原理_网工知识角|没人会告诉你的网络SDN软定义技术中VXLAN的4个特点

热门文章

  1. Python urllib2和urllib的使用
  2. 漫步最优化一——引言
  3. 漫步微积分二——微积分是什么
  4. oracle sql练习_使用Scrapy爬虫,并将数据存储到oracle
  5. 以为来自东华理工大学学生的SCI投稿经验
  6. TLD Tracker
  7. Jetson TX2板载相机opencv调用打开
  8. 论文编写时,如何添加参考文献索引
  9. JScharts快速入门
  10. MyBatis框架 mybatis.xml与Mapper.xml基本架构