1. from __future__ import print_function
  2. import pandas as pd
  3. import numpy as np
  4. np.random.seed(1)
  5. dates = pd.date_range('20130101', periods=6)
  6. df = pd.DataFrame(np.arange(24).reshape((6,4)), index=dates, columns=['A', 'B', 'C', 'D'])
  7. df.iloc[0,1] = np.nan
  8. df.iloc[1,2] = np.nan # Nan模拟缺失的数据
  9. print(df)
  10. print(df.dropna(axis=0, how='all')) # how={'any', 'all'} 全部是0才丢掉
  11. print(df.dropna(axis=0, how='any')) # how={'any', 'all'} 有0就丢掉行
  12. print(df.fillna(value=0)) # 所有的nan用0填充
  13. print(pd.isnull(df)) # 判断每一个数据是否是Nan,是nan就输出True
  14. print(np.any(df.isnull()) == True) # 如果有数据缺失,就输出True

以下是所有的输出结果:

  1. print(df)
  2. > A B C D
  3. > 2013-01-01 0 NaN 2.0 3
  4. > 2013-01-02 4 5.0 NaN 7
  5. > 2013-01-03 8 9.0 10.0 11
  6. > 2013-01-04 12 13.0 14.0 15
  7. > 2013-01-05 16 17.0 18.0 19
  8. > 2013-01-06 20 21.0 22.0 23
  1. print(df.dropna(axis=0, how='all')) # how={'any', 'all'}
  2. > A B C D
  3. > 2013-01-01 0 NaN 2.0 3
  4. > 2013-01-02 4 5.0 NaN 7
  5. > 2013-01-03 8 9.0 10.0 11
  6. > 2013-01-04 12 13.0 14.0 15
  7. > 2013-01-05 16 17.0 18.0 19
  8. > 2013-01-06 20 21.0 22.0 23
  1. print(df.dropna(axis=0, how='any')) # how={'any', 'all'}
  2. > A B C D
  3. > 2013-01-03 8 9.0 10.0 11
  4. > 2013-01-04 12 13.0 14.0 15
  5. > 2013-01-05 16 17.0 18.0 19
  6. > 2013-01-06 20 21.0 22.0 23
  1. print(df.fillna(value=0))
  2. > A B C D
  3. > 2013-01-01 0 0.0 2.0 3
  4. > 2013-01-02 4 5.0 0.0 7
  5. > 2013-01-03 8 9.0 10.0 11
  6. > 2013-01-04 12 13.0 14.0 15
  7. > 2013-01-05 16 17.0 18.0 19
  8. > 2013-01-06 20 21.0 22.0 23
  1. print(pd.isnull(df))
  2. > A B C D
  3. > 2013-01-01 False True False False
  4. > 2013-01-02 False False True False
  5. > 2013-01-03 False False False False
  6. > 2013-01-04 False False False False
  7. > 2013-01-05 False False False False
  8. > 2013-01-06 False False False False
  1. print(np.any(df.isnull()) == True)
  2. > True

END

pandas 4 处理缺失数据nan的更多相关文章

  1. 利用Python进行数据分析(10) pandas基础: 处理缺失数据

      数据不完整在数据分析的过程中很常见. pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据. pandas使用isnull()和notnull()函数来判断缺失情况. 对于缺失数据一般处理 ...

  2. Pandas汇总和处理缺失数据

    汇总的函数 方法 说明 count 非NA的值数量 describe 针对Series和DataFrame列计算汇总统计 min.max 计算最小值和最大值 argmin.argmax 计算能够获取到 ...

  3. Pandas之Dropna滤除缺失数据

    import pandas as pd import numpy as np from numpy import nan as NaN 一.处理Series对象 通过dropna()滤除缺失数据 fr ...

  4. pandas(五)处理缺失数据和层次化索引

    pandas用浮点值Nan表示浮点和非浮点数组中的缺失数据.它只是一个便于被检测的标记而已. >>> string_data = Series(['aardvark','artich ...

  5. pandas知识点(处理缺失数据)

    pandas使用浮点值NaN表示浮点和非浮点数组中的缺失数据: In [14]: string_data = Series(['aardvark','artichoke',np.nan,'avocad ...

  6. 利用Python进行数据分析-Pandas(第五部分-数据规整:聚合、合并和重塑)

    在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析.本部分关注可以聚合.合并.重塑数据的方法. 1.层次化索引 层次化索引(hierarchical indexing)是panda ...

  7. 实操 | 内存占用减少高达90%,还不用升级硬件?没错,这篇文章教你妙用Pandas轻松处理大规模数据

    注:Pandas(Python Data Analysis Library) 是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.此外,Pandas 纳入了大量库和一些标准的数据模型 ...

  8. 小白学 Python 数据分析(8):Pandas (七)数据预处理

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  9. 小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

随机推荐

  1. Pyhton学习——Day26

    #多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...

  2. W3c盒子模型+IE盒子模型+box-sizing属性

    1.盒子模型有两种,标准盒模型和IE盒模型,其中W3C标准的盒模型就是在网页的顶部加上 DOCTYPE 声明. (1)W3C标准的盒模型 W3C盒子模型包括4部分:margin,border,padd ...

  3. .get(),eq()的区别

    .get(),eq()的区别 eq:返回是一个jquery对象作用是将匹配的元素集合缩减为一个元素.这个元素在匹配元素集合中的位置变为0,而集合长度变成1. get:是一个html对象数组作用是取得其 ...

  4. COGS——T 2739. 凯伦和咖啡

    http://www.cogs.pro/cogs/problem/problem.php?pid=2739 ★★☆   输入文件:coffee.in   输出文件:coffee.out   简单对比时 ...

  5. HDU 4323 Contest 3

    编辑距离,经典的了.动态规划枚举即过. #include <iostream> #include <cstdio> #include <string.h> #inc ...

  6. IntegerToBinaryString

    IntegerToBinaryString 方法写的非常的巧妙:佩服佩服! package com.stono.jdk; public class IntegerToBinaryString { pu ...

  7. Oracle sql 子字符串长度判断

    Oracle sql 子字符串长度判断 select t.* from d_table t ,) ,instr(t.col,; 字符串的前两位都是数字: select * from d_table t ...

  8. FZU_Problem 2168 防守阵地 I

    Problem 2168 防守阵地 I Accept: 128 Submit: 392 Time Limit: 3000 mSec Memory Limit : 32768 KB Problem De ...

  9. 安全风控的CAP原理和BASE思想

    CAP原理最多实现两个,需要牺牲一个来满足其他两个:

  10. hdu1276(士兵队列训练问题) java集合水过

    点击打开链接 有人说这题属于栈或者队列,个人认为说集合应该比較准确点. Problem Description 某部队进行新兵队列训练,将新兵从一開始按顺序依次编号.并排成一行横队,训练的规则例如以下 ...