【Numpy学习01】常数

您所在的位置:网站首页 矩阵提取一个常数 【Numpy学习01】常数

【Numpy学习01】常数

2024-07-16 15:59| 来源: 网络整理| 查看: 265

文章目录: 前言: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

在这里插入图片描述

【例5-2】判断numpy中自然数e的有效位数 import numpy as np print(np.e == 2.718281828459045) print(np.e == 2.7182818284590452353602874)

结果:

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