一、nan和inf的简介

nan 不是一个数字
读取本地文件为flaot的时候,有缺失
inf(infinity): 无穷尽
inf: 正无穷
-inf: 负无穷
数据类型:float
# 注意: 要想直接赋值nan和inf需要修改数组的数据类型为float

二、nan中的注意点

1、两个nan是不相等的

2、np.nan != np.nan 布尔索引,结果为True

3、判断数组中nan的个数
arr1 != arr1 # nan相等的为True
np.count_nonzero(arr1 != arr1) # True为非0 4、修改nan值的两种方法
# 方法一
np.isnan(arr1) # 是布尔索引判断arr1中为nan的
arr1[np.isnan(arr1)] = 0 # 修改数据值
# 方法二
arr1 != arr1 # 布尔索引
arr1[arr1 != arr1] = 3 # 修改nan的值 5、nan和任意值计算都是nan

三、nump中常用统计函数

求和:np.sum(arr1, axis=None)
均值:np.mean(arr1, axis=0) # 平均值
中值:np.median(arr1, axis=0) # 中值
最大值:np.max(arr1, axis=0)
最小值:np.min(arr1, axis=0)
极值:np.ptp(arr1, axis=0) # 最大值减最小值
标准差:np.std(arr1, axis=0)
# 反映出数据的波动情况
# 标准差数值较少,代表这些数值比较接近平均值,越稳定,否则,越不稳定

注意:一般替换数值的nan使用均值(mean)或中值(media)

numpy nan和inf的更多相关文章

  1. Python 实现将numpy中的nan和inf,nan替换成对应的均值

    nan:not a number inf:infinity;正无穷 numpy中的nan和inf都是float类型     t!=t 返回bool类型的数组(矩阵) np.count_nonzero( ...

  2. C语言中的nan和inf使用

    本文总结nan和inf在C语言当中的含义.产生和判定方法. C语言当中的nan 表示not a number,等同于 #IND:indeterminate (windows) 产生: 对浮点数进行了未 ...

  3. numpy中的inf

    numpy中的inf表示一个无限大的正数 import numpy x = numpy.inf x>9999999999999999999 结果为: True

  4. 浮点数NaN和INF(#IND, #INF)

    NaN&INF定义在一些情况会出现无效的浮点数,例如除0,例如负数求平方根等,像这类情况,获取到的浮点数的值是无效的. NaN 即 Not a Number         非数字 INF  ...

  5. numpy nan值的判断

    我发现在数据处理中非常常见的就是nan值的判断,筛选数据尤为常见, 判断数据是否为nan,前提是np.float类型数组,但在应用于对象数组时会引发TypeError # 返回bool类型 np.is ...

  6. python 怎么让list里面设置NAN numpy.nan

  7. python将nan, inf转为特定的数字

    最近,处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work:查看得到的数据,发现有很多nan和inf,导致python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故. ...

  8. pandas numpy处理缺失值,none与nan比较

    原文链接:https://junjiecai.github.io/posts/2016/Oct/20/none_vs_nan/ 建议从这里下载这篇文章对应的.ipynb文件和相关资源.这样你就能在Ju ...

  9. Python中的inf与nan

    Python中可以用如下方式表示正负无穷 >>> float('inf') # 正无穷,inf不区分大小写,float('InF')一样可以. inf >>> fl ...

随机推荐

  1. Java中getBytes()方法--使用详解

    getBytes()方法详解 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这表示在不同的操作系统下,返回的东西不一样! 1. str.getByte ...

  2. P1010 数值交换

    题目描述 输入两个数 \(a\) 和 \(b\) ,将两个数交换,并输出交换后的 \(a\) 和 \(b\) . 输入格式 输入两个整数 \(a,b(1 \le a,b \le 10^6)\) 输出格 ...

  3. 51nod 1287加农炮

    1287 加农炮  题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个长度为M的正整数数组A,表示从左向右的地形高度.测试一种加农炮 ...

  4. Java 趣事之 a=a++ 和 a=++a(转)

    转自:https://blog.csdn.net/LovePluto/article/details/81062176 如果问 a++ 和 ++a 的区别,估计很多都能回答上来.a++ 是先取 a 的 ...

  5. Linux 内核Ksets 对象

    很多情况, 一个 kset 看来象一个 kobj_type 结构的扩展; 一个 kset 是一个嵌入到相 同类型结构的 kobject 的集合. 但是, 虽然 struct kobj_type 关注的 ...

  6. koa2+koa-art-template利用日期管道实现在jat模板中将时间戳转为日期时间

    var sp = require("silly-datetime"); var render = require("koa-art-template"); va ...

  7. char* 、const char*和string之间的转换

    1. const char* 和string 转换 (1) const char*转换为 string,直接赋值即可.     EX: const char* tmp = "tsinghua ...

  8. 22.BASE_DIR,os,sys

    原文: BASE_DIR演示 想在bin里调用main里的方法.需要找到目录. import sys,os BASE_DIR = os.path.dirname(os.path.dirname(os. ...

  9. ABP-多个DbContext实现事物更新

    1.在ABP中其实多个DbContext并没有在同一个事物中执行,那他是如何操作的,我的理解是 在不使用事物的时候 把多个DbContext存放在ActiveDbContexts 在调用工作单元的时候 ...

  10. 洛谷p1345---最小割的奇妙运用

    让你去掉最少的点,使得c1和c2变得不连通,你有办法吗??? 这是最小割呀!!! 网络流的最小割去掉的是边,构造边的顶点的唯一关系就好了!!! 需要注意一点 #include<iostream& ...