【Numpy学习01】常数 |
您所在的位置:网站首页 › 矩阵提取一个常数 › 【Numpy学习01】常数 |
文章目录:
前言:1、正无穷大【例1】判断Inf 、inf 、infty、Infinity、PINF的关系
2、负无穷大【例2】打印负无穷大
3、正负零【例3】打印正负零
4、非数值【例4-1】判断两个非数值是否相等【例4-2】判断nan、NaN、NAN的关系【例4-3】计算ndarray中非数值常量(nan)的数量
5、自然数e【例5-1】打印自然数e【例5-2】判断numpy中自然数e的有效位数
6、圆周率π【例6】打印圆周率π
7、伽马常数γ【例7】伽马常数γ
8、None(newaxis)【例8-1】判断None和newaxis的关系【例8-2】newaxis的用法
前言:
NumPy包括几个常量: np.inf、np.NINF、np.PZERO & np.NZERO、np.nan、np.e、np.pi、np.euler_gamma、np.newaxis 1、正无穷大numpy中正无穷大一共有五种表现形式:Inf = inf = infty = Infinity = PINF NumPy 使用IEEE二进制浮点算法标准(IEEE 754) 正无穷大不等于负无穷大。 但无穷大相当于正无穷大。 【例1】判断Inf 、inf 、infty、Infinity、PINF的关系 import numpy as np print(np.Inf == np.inf) print(np.inf == np.infty) print(np.infty == np.Infinity) print(np.Infinity == np.PINF)结果: True True True True 2、负无穷大 【例2】打印负无穷大 import numpy as np print(np.NINF)结果: -inf 3、正负零 【例3】打印正负零正负零被认为是有限数 import numpy as np print(np.PZERO) print(np.NZERO)结果: 0.0 -0.0 4、非数值非数值有三种表现形式:nan、NaN、NAN Not a Number不等于无穷大。 【例4-1】判断两个非数值是否相等 import numpy as np #两个nan是不等的 print(np.nan == np.nan) print(np.NAN == np.NAN) print(np.NaN == np.NaN)结果: False False False 表示两个非数值是不相等的 【例4-2】判断nan、NaN、NAN的关系 import numpy as np #比较不同的NAN print(np.nan == np.NAN) print(np.nan == np.NaN) print(np.NAN == np.NaN)结果: False False False 表示不同形式的非数值常量不等 【例4-3】计算ndarray中非数值常量(nan)的数量 import numpy as np #打印array x = np.array([1.2, 5, np.nan , True , False]) print(x) #打印是否为nan y = np.isnan(x) print(y) #数不是0的数量 print(np.count_nonzero(y)) #那么可以用一个函数计算array中nan的数量 def countNaN(array): return np.count_nonzero(np.isnan(array)) print(countNaN(x)) z = np.array([NaN, 5, nan , NAN , False]) print(countNaN(z))结果: [1.2 5. nan 1. 0. ] [False False True False False] 1 1 3 这里自定义了一个countNaN函数,先调用numpy的isnan方法,返回包含布尔变量的ndarray,然后继续使用numpy的count_nonzero方法,返回不是0(即False)的数量。 综上,countNaN函数返回的即是ndarray中nan的数量。 5、自然数e 【例5-1】打印自然数e import numpy as np print(np.e)结果: 2.718281828459045 结果: True True 突发奇想,想看一下np.e和打印的浮点数是否相等,结果发现无论是小数点后15位和小数点后25位,均判断相等,这里先抛出一个疑问。 6、圆周率π 【例6】打印圆周率π import numpy as np print(np.pi)结果: 3.141592653589793 7、伽马常数γ 【例7】伽马常数γ import numpy as np print(np.euler_gamma)结果: 0.5772156649015329 8、None(newaxis)numpy.newaxis从字面上来理解就是用来创建新轴的,或者说是用来对array进行维度扩展的。 【例8-1】判断None和newaxis的关系 import numpy as np print(None == np.newaxis)结果: True 表示None和np.newaxis实际是一个常量,axis有轴的意思,我们可以通过几个例子看看为什么在numpy中引入newaxis常数: axis 英[ˈæksɪs] 美[ˈæksɪs] n. 轴(旋转物体假想的中心线); (尤指图表中的) 固定参考轴线,坐标轴; 对称中心线(将物体平分为二); 【例8-2】newaxis的用法 >>>import numpy as np >>>x = np.array([1, 0, 1, 9]) >>>print(x.shape) #表示x是一维的ndarray变量 (4,) >>>x1 = x[np.newaxis,:] >>>print(x1) >>>print(x1.shape) #表示x1是二维的ndarray变量 1*4 [[1 0 1 9]] (1, 4) >>>x2 = x[np.newaxis,:] >>>print(x2) >>>print(x2.shape) >#表示x2是二维的ndarray变量 4*1 [[1] [0] [1] [9]] (4, 1)到这里我们可以清楚,np.newaxis的作用就是给ndarray增加维度,放在前面就是在前面添加维度(把之前的一维变量提炼成新的二维变量中),放在后面就是在后面添加维度(把之前的一维变量打散,充当二维变量中的一维变量) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |