数据分析学习笔记4-----处理缺失数据
处理缺失数据
对于数值数据,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-----处理缺失数据相关推荐
- 数据分析学习笔记—python数据类型与数据容器
文章目录 1.python标准数据类型 2.python数据容器概念 3.python数据容器思维导图 1.python标准数据类型 2.python数据容器概念 容器类数据模型,从个人角度理解来说, ...
- python数据分析学习笔记——numpy来实现数据拟合
最近在学习python数据分析,做个笔记记录一下代码,今天是用numpy拟合了一组数据. 先贴拟合的效果出来,蓝色的点是用np生成的20个点,红线是拟合出来的曲线: 下面是代码: import mat ...
- 数据分析学习笔记——数据可视化
数据分析学习笔记系列--数据可视化 总第45篇 ▼ 写在前面: 本篇来源于书籍<数据之美-一本书学会可视化设计>的学习后整理所得.全篇主要围绕数据可视化的5个步骤展开,其中重点内容是第三步 ...
- Python数据分析学习笔记:使用SciKit-Learn进行数据规范化
Python数据分析学习笔记:使用SciKit-Learn进行数据规范化 数据规范化是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果 ...
- Python数据分析学习笔记:计算向量夹角
Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...
- Python数据分析学习笔记:计算相关系数
Python数据分析学习笔记:计算相关系数 1.相关系数概念 相关系数,或称线性相关系数.皮氏积矩相关系数(Pearson product-moment correlation coefficient ...
- Python数据分析学习笔记05:用户画像
Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...
- python客户画像_Python数据分析学习笔记05:用户画像
Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...
- 数据分析学习笔记-数据分析预备知识
数据分析学习笔记 数据分析预备知识
最新文章
- colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测
- tinyxml 读取文本节点_TinyXml 读写XML文件
- SAP QM 检验批上各个MIC质检结果的查询报表?
- python培训学费多少钱-培训python学费多少python学会得多少钱?
- 《图解HTTP》读书笔记--第8章 确认访问用户身份的认证
- 读书笔记《单核工作法》_4原理4,5
- nginx 根据IP 进行灰度发布
- 牛客挑战赛48C-铬合金之声【Prufer序列】
- android实现推送方式解决方案,Android实现推送方式解决方案系列教程
- git 修改已提交的 commit
- C# StreamReader.ReadLine统计行数的问题
- 删除数据oracle,oracle删除数据
- Word中输入10以上带圈数字
- win10系统怎么把语言栏弄回去
- 手把手教你手工焊接贴片元件(图文教程)
- 为基于GTK/CLUTTER的库增加GJS支持
- 3D家居设计展示系统
- dingo php,laravel 中安装 Dingo API 基本设置
- 储存数据与操作Excel [爬虫专题(9)]
- 三层vxlan原理_网工知识角|没人会告诉你的网络SDN软定义技术中VXLAN的4个特点