处理丢失数据
 
    有两种丢失数据:
        
        · None
        · np.nan(NaN)
 
 
1 None
    None是Python自带的,其类型为Python object。因此,None不能参与到任何计算中。
 
    object类型的运算要比int类型的运算慢得多
    计算不同数据类型求和时间
 

 
2 np.nan(NaN)
 
    np.nan是浮点型,能参与到计算中。但计算结果总是NaN。
    可以使用np.nan*()函数来计算nan,此时视nan为0。
 
 
3 pandas中的None与NaN
 
    1)pandas中None与np.nan都视作np.nan
 
    创建DataFrame

        张三、小齐的work列没有值,需要进行数据清洗。
 
            isnull()
 
            notnull()
 
isnull()
 

    将空的数据就提取出来了。
 

 
        notnull()判断数据不为空,所有数据都不为空,才能提取出来,用all(),只要有一个为空用any()。
 
 
            dropna():过滤丢失数据
Signature: df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)Docstring:
Remove missing values.
 
    数据清洗通常只会将不符合条件的数据行删除,所以axis=0.
 
                可以选择过滤的行还是列(默认是行)

                也可以选择过滤的方式 how='all'

 
            fillna():填充丢失数据   
                填充函数Series/DataFrame
 
Signature: df.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)Docstring:
Fill NA/NaN values using the specified method
 

 
 
如果将 inplace=True  ,就会更改原DataFrame数据,而不是返回新的DataFrame数据。
 
 
===================================
练习:
  1. 简述None与NaN的区别
  2. 假设张三李四参加模拟考试,但张三因为突然想明白人生放弃了英语考试,因此记为None,请据此创建一个DataFrame,命名为ddd3

  1. 老师决定根据用数学的分数填充张三的引用成绩,如何实现,

  1. 用李四的英语成绩填充张三的英语成绩?

    

 
===================================
 
根据官方文档,我们知道fillna有一下几种method:‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None;
 
那么每一种method都是起什么样的作用呢?
 
method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None
 
Method to use for filling holes in reindexed Series pad / ffill: propagate last valid observation forward to next valid backfill / bfill: use NEXT valid observation to fill gap
pad/ffill:用前一个非缺失值去填充该缺失值
backfill/bfill:用下一个非缺失值填充该缺失值
 
None:指定一个值去替换缺失值
 
=========================================
这篇博客不错,大家可以参考下
 
 
 
 
 
 
 
 
 
 
 
 
 
 

6 DataFrame处理丢失数据--数据清洗的更多相关文章

  1. Pandas 处理丢失数据

    处理丢失数据 import pandas as pd from pandas import Series, DataFrame import numpy as np 有两种丢失数据: 1. None ...

  2. (二)pandas处理丢失数据

    处理丢失数据 有两种丢失数据: None np.nan(NaN) import numpy as np type(None) NoneType type(np.nan) float 1. None N ...

  3. .Net读取Excel文件时丢失数据的问题 (转载)

    相信很多人都试过通过OleDB读取Excel文件,这种方法效率十分高,只是有一点会让人十分头痛,就是当一列中既有混合型数据,又有纯数据时,往往容易丢失数据. 百度过后,改连接字符串 “HDR=YES; ...

  4. 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据

    使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...

  5. Kafka重复消费和丢失数据研究

    Kafka重复消费原因 底层根本原因:已经消费了数据,但是offset没提交. 原因1:强行kill线程,导致消费后的数据,offset没有提交. 原因2:设置offset为自动提交,关闭kafka时 ...

  6. RMAN数据库恢复之丢失数据文件的恢复

    删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...

  7. RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

    1.归档模式有备份,丢失数据文件的恢复归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP MO ...

  8. HBase丢失数据的故障和原因分析

    hbase的稳定性是近期社区的重要关注点,毕竟稳定的系统才能被推广开来,这里有几次稳定性故障和大家分享.     第一次生产故障的现象及原因     现象: 1 hbase发现无法写入 2 通过hbc ...

  9. mongodb丢失数据的原因剖析 - 迎风飘来的专栏 - CSDN博客 https://blog.csdn.net/yibing548/article/details/50844310

    mongodb丢失数据的原因剖析 - 迎风飘来的专栏 - CSDN博客 https://blog.csdn.net/yibing548/article/details/50844310

随机推荐

  1. bzoj2125 最短路——仙人掌两点间距离

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2125 仙人掌!模仿 lyd 的代码写的,也算是努力理解了: 主要分成 lca 在环上和不在环 ...

  2. CSS3径向渐变实现优惠券波浪造型

    效果看下图: 左右的波浪边框用CSS搞定这个效果.利用CSS radial-gradient() 函数 CSS 语法: background: radial-gradient(shape size a ...

  3. P2258 子矩阵(dp)

    P2258 子矩阵 题目描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵. 例如,下面左图中选取第2.4行和第2.4 ...

  4. Akka源码分析-FSM

    akka还有一个不常使用.但我觉得比较方便的一个模块,那就是FSM(有限状态机).我们知道了akka中Actor模型的具体实现之后,就会发现,Akka的actor可以非常方便的实现FSM.其实在akk ...

  5. 设计模式 |备忘录模式(memento)

    定义: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 结构:(书中图,侵删) Originator:需要备份的类(写在便签上 ...

  6. BZOJ 1137 半平面交

    半平面交的板子 //By SiriusRen #include <bits/stdc++.h> #define double long double using namespace std ...

  7. [转]Android定时刷新UI界面----Handler

    本文转自:http://blog.csdn.net/macong01/article/details/7479266 本想做一个软件可以对UI界面进行定时更新,找了一些资料,先贴一个简单的定时更新界面 ...

  8. 【Spring】IOC

    浅谈IOC IOC的理论背景 图1:传统系统中,对象之间相互引用的一幅图,在采用面向对象方法设计的软件系统中,它的底层的实现都是由n个对象所组成的,所有的对象通彼此之间的合作最终实现系统的业务逻辑,如 ...

  9. [hihocoder][Offer收割]编程练习赛64

    公平划分 若条件满足,则所有数异或和为零,这时候随便分都可以,答案为2^n-2,否则答案为0 #pragma comment(linker, "/STACK:102400000,102400 ...

  10. DeadObjectException

    开发的过程中有时候会遇到DeadObjectException,说明系统service已经停止运行,解决的方式是在mainfistxml的application标签中添加android:hardwar ...