一、了解缺失值

  • 通常使用 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之缺失值处理的更多相关文章

  1. Python Pandas找到缺失值的位置

    python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺失,一共有多少个缺失数据,缺 ...

  2. pandas判断缺失值的办法

    参考这篇文章: https://blog.csdn.net/u012387178/article/details/52571725 python pandas判断缺失值一般采用 isnull(),然而 ...

  3. Pandas对缺失值的处理

    Pandas使用这些函数处理缺失值: isnull和notnull:检测是否是空值,可用于df和series dropna:丢弃.删除缺失值 axis : 删除行还是列,{0 or 'index', ...

  4. pandas 处理缺失值(连续值取平均,离散值fillna"<unk>")

    # 2.1处理缺失值,连续值用均值填充 continuous_fillna_number = [] for i in train_null_ix: if(i in continuous_ix): me ...

  5. python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)

    2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...

  6. Python数据分析之pandas学习

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

  7. Python pandas 0.19.1 Intro to Data Structures 数据结构介绍 文档翻译

    官方文档链接http://pandas.pydata.org/pandas-docs/stable/dsintro.html 数据结构介绍 我们将以一个快速的.非全面的pandas的基础数据结构概述来 ...

  8. python 数据分析--pandas

    接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ...

  9. Pandas 常见的基本方法

    说明:文章所有内容均截选自实验楼教程[Pandas 使用教程],想要查看教程完整内容,点击教程即可~ 前言: Pandas 是非常著名的开源数据处理工具,我们可以通过它对数据集进行快速读取.转换.过滤 ...

  10. pandas常用

    #python中的pandas库主要有DataFrame和Series类(面向对象的的语言更愿意叫类) DataFrame也就是#数据框(主要是借鉴R里面的data.frame),Series也就是序 ...

随机推荐

  1. escape sequence "\c"

    #include <stdio.h> int main() { printf("Hello World !\c"); return ; } [::@wjshan0808 ...

  2. Python必须知道的异常处理

    异常处理 把可能会发生的错误,提前在代码里进行捕捉(监测) try : code except Exception: 出错后要执行的代码 下面是常见的异常: attributeError 试图访问一个 ...

  3. (五)ELK Logstash output

    # 输出插件将数据发送到一个特定的目的地, 除了elasticsearch还有好多可输出的地方, 例如file, csv, mongodb, redis, syslog等 output { if [t ...

  4. 本地缓存解决方案-Caffeine Cache

    1.1 关于Caffeine Cache ​ Google Guava Cache是一种非常优秀本地缓存解决方案,提供了基于容量,时间和引用的缓存回收方式.基于容量的方式内部实现采用LRU算法,基于引 ...

  5. JS基础知识点(一)

    原始类型 null undefined boolean number string symbol 注意 原始类型存储的都是值,是没有函数可以调用的,但实际上除null和undefined外,其他类型使 ...

  6. Jmeter系列(43)- 详解 Jmeter 图形化 HTML 压测报告之 Charts 模块

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Charts 介绍 包含了各种详细信息 ...

  7. python数据处理(七)之数据探索和分析

    1.探索数据 1.1 安装agate库 1.2 导入数据 1.3 探索表函数 a.排序 b.最值,均值 c.清除缺失值 d.过滤 e.百分比 1.4 连结多个数据集 a.捕捉异常 b.去重 c.缺失数 ...

  8. 数据可视化基础专题(二):Pandas基础(一) excel导入与导出

    1.Excel 1.1 Excel导入 read_excel() pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col ...

  9. 数据可视化之DAX篇(四) 熟练使用EARLIER函数,轻松获取当前行信息

    https://zhuanlan.zhihu.com/p/64400583 前面利用PowerBI做数据分析的时候都是对整列的字段进行操作,并没有做更细化的分析,比如分析数据的每一行.提取某一行的数据 ...

  10. unity-TextAsset

    定义: 当把Text files导到unity,将会变成TextAsset. 支持的格式: .txt .html .htm .xml .bytes .json .csv .yaml .fnt 注意 不 ...