6-Pandas之缺失值处理
一、了解缺失值
- 通常使用 NA('not available')来代指缺失值
- 在Pandas的数据结构中,缺失值使用 NaN('Not a Number')进行标识
除了汇总统计方法,还可以使用isnull()来对数据中缺失的样本占比、特征大致的缺失情况进行了解。
>>> df =pd.DataFrame({'one':pd.Series([1,2,3],index=['a','b','c']),
... 'two':pd.Series([1,3,2,7],index=['a','b','c','d']),
... 'three':pd.Series([3,8,3],index=['d','a','c'])})
>>> df
one two three
a 1.0 1 8.0
b 2.0 3 NaN
c 3.0 2 3.0
d NaN 7 3.0
#缺失值的数量分析
>>> df.isnull()
one two three
a False False False
b False False True
c False False False
d True False False
>>> df.isnull().sum()
one 1
two 0
three 1
dtype: int64
二、缺失值填充
使用fillna()方法进行缺失值填补
填充方式分为以下几种:
(1)使用同一个值填补所有的缺失值
>>> df.fillna('用我填充')
one two three
a 1 1 8
b 2 3 用我填充
c 3 2 3
d 用我填充 7 3
(2)向前填充、向后填充--->通过设置参数method参数来实现
| method参数 | 说明 |
| ffill或pad | 向前填充值 |
| bfill或backfill | 向后填充值 |
#向前填充
>>> df.fillna(method='pad')
one two three
a 1.0 1 8.0
b 2.0 3 8.0
c 3.0 2 3.0
d 3.0 7 3.0 #向后填充
>>> df.fillna(method='bfill')
one two three
a 1.0 1 8.0
b 2.0 3 3.0
c 3.0 2 3.0
d NaN 7 3.0
(3)对不同列的缺失值使用不同的值进行填补
可以使用列表的方式,如下:
>>> df.fillna({'one':1,'three':3})
one two three
a 1.0 1 8.0
b 2.0 3 3.0
c 3.0 2 3.0
d 1.0 7 3
(4)使用一个Pandas的自动对齐功能进行填补
这也是最常使用的一种方式
>>> df.fillna(df.mean())
one two three
a 1.0 1 8.000000
b 2.0 3 4.666667
c 3.0 2 3.000000
d 2.0 7 3.000000
6-Pandas之缺失值处理的更多相关文章
- Python Pandas找到缺失值的位置
python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺 ...
- pandas判断缺失值的办法
参考这篇文章: https://blog.csdn.net/u012387178/article/details/52571725 python pandas判断缺失值一般采用 isnull(),然而 ...
- Pandas对缺失值的处理
Pandas使用这些函数处理缺失值: isnull和notnull:检测是否是空值,可用于df和series dropna:丢弃.删除缺失值 axis : 删除行还是列,{0 or 'index', ...
- pandas 处理缺失值(连续值取平均,离散值fillna"<unk>")
# 2.1处理缺失值,连续值用均值填充 continuous_fillna_number = [] for i in train_null_ix: if(i in continuous_ix): me ...
- python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)
2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...
- Python数据分析之pandas学习
Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...
- Python pandas 0.19.1 Intro to Data Structures 数据结构介绍 文档翻译
官方文档链接http://pandas.pydata.org/pandas-docs/stable/dsintro.html 数据结构介绍 我们将以一个快速的.非全面的pandas的基础数据结构概述来 ...
- python 数据分析--pandas
接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ...
- Pandas 常见的基本方法
说明:文章所有内容均截选自实验楼教程[Pandas 使用教程],想要查看教程完整内容,点击教程即可~ 前言: Pandas 是非常著名的开源数据处理工具,我们可以通过它对数据集进行快速读取.转换.过滤 ...
- pandas常用
#python中的pandas库主要有DataFrame和Series类(面向对象的的语言更愿意叫类) DataFrame也就是#数据框(主要是借鉴R里面的data.frame),Series也就是序 ...
随机推荐
- HTML5(三)SVG vs. Canvas
HTML5 内联 SVG 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 ...
- pycharm连接远程服务器(拉取版本)
pycharm连接远程服务器(拉取版本) 有这篇教程是因为,博主有两个办公地点,想着在办公地点A上传代码到服务器并调试,并在B时候可以拉取这份代码,并进行调试.因此有这篇拉取版本的博客,之前还有上传版 ...
- efcore 跨表查询,实现一个接口内查询两个不同数据库里各自的表数据
最近有efcore跨库查询的需求,研究了下colder框架里文档的分库实现,发现并不能完全实现一个接口下的跨库查询请求,只能满足一个业务层构造指定的唯一一个数据库访问接口. 先说下文档是怎么实现的 D ...
- Linux终端音乐播放器cmus攻略: 操作歌单
目录 1. 安装 2. 操作说明 2.1. *PlayList歌单 2.2. 其他 3. 视图切换 4. 使响应Media/play按键 4.1. 编译安装 cmus是一款开源的终端音乐播放器.它小巧 ...
- 查看mysql所有命令
- Maven 专题(六):Maven核心概念详解(二)
5 仓库 5.1 分类 [1]本地仓库:为当前本机电脑上的所有 Maven 工程服务.[2]远程仓库: (1)私服:架设在当前局域网环境下,为当前局域网范围内的所有 Maven 工程服务 ...
- 机器学习实战基础(二十):sklearn中的降维算法PCA和SVD(一) 之 概述
概述 1 从什么叫“维度”说开来 我们不断提到一些语言,比如说:随机森林是通过随机抽取特征来建树,以避免高维计算:再比如说,sklearn中导入特征矩阵,必须是至少二维:上周我们讲解特征工程,还特地提 ...
- CRM【第三篇】: crm业务
1. 项目背景 crm系统是某某教育公司正在使用的项目,系统主要为 销售部.运营部.教质部门提供管理平台,随着公司规模的扩展,对公司员工的业务信息量化以及信息化建设越来越重要. crm系统为不同角色的 ...
- POJ 1047 Round and Round We Go 最详细的解题报告
题目链接:Round and Round We Go 解题思路:用程序实现一个乘法功能,将给定的字符串依次做旋转,然后进行比较.由于题目比较简单,所以不做过多的详解. 具体算法(java版,可以直接A ...
- python爬虫学习01--电子书爬取
python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...