逻辑函数 真值测试

numpy.all与numpy.any

  • numpy.all(a, axis=None, out=None, keepdims=np._NoValue) Test whether all array elements along a given axis evaluate to True.
  • numpy.any(a, axis=None, out=None, keepdims=np._NoValue) Test whether any array element along a given axis evaluates to True.
>>> a = np.array([0, 4, 5])
>>> b = np.copy(a)
>>> print(np.all(a == b))  #全部都一样输出true  and运算
True
>>> print(np.any(a == b))#任意一个相同都输出true  or运算
True
b[0] = 1
print(np.all(a == b))  # False
print(np.any(a == b))  # True

a = np.eye(3)  生成对角单位矩阵
print(np.all(a, axis=0))  # [False False False]  按行进行
print(np.any(a, axis=0))  # [ True  True  True]

np.eye()

np.eye()的函数,除了生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。

函数的原型:numpy.eye(N,M=None,k=0,dtype=<class 'float'>,order='C)

返回的是一个二维2的数组(N,M),对角线的地方为1,其余的地方为0.

(1)N:int型,表示的是输出的行数

(2)M:int型,可选项,输出的列数,如果没有就默认为N

(3)k:int型,可选项,对角线的下标,默认为0表示的是主对角线,负数表示的是低对角(低于主对角线的对角线),正数表示的是高对角(高于主对角线的对角线)

a=np.eye(3)[1]
print(a) 
# [0. 1. 0.]

>>> a=np.eye(3)[[1,2,0,1]]
>>> print("如果对应的类别号是1,2,0,1,那么转成one-hot的形式\n",a)
如果对应的类别号是1,2,0,1,那么转成one-hot的形式
 [[0. 1. 0.]
 [0. 0. 1.]
 [1. 0. 0.]
 [0. 1. 0.]]
>>> res=np.eye(3)[labels.reshape(-1)]
>>> print("labels转成one-hot形式的结果:\n",res,"\n")
labels转成one-hot形式的结果:
 [[0. 1. 0.]
 [0. 0. 1.]
 [1. 0. 0.]
 [0. 1. 0.]]

>>> print("labels转化成one-hot后的大小:",res.shape)
labels转化成one-hot后的大小: (4, 3)
>>>

数组内容:

numpy.isnan

  • numpy.isnan(x, *args, **kwargs) Test element-wise for NaN and return result as a boolean array.
a=np.array([1,2,np.nan])
print(np.isnan(a))
#[False False  True]

np.random.seed()

seed()中的参数被设置了之后,np.random.seed()可以按顺序产生一组固定的数组,如果使用相同的seed()值,则每次生成的随机数都相同。如果不设置这个值,那么每次生成的随机数不同。但是,只在调用的时候seed()一下并不能使生成的随机数相同,需要每次调用都seed()一下,表示种子相同,从而生成的随机数相同。np.random.seed(n)函数用于生成指定随机数,把seed()中的参数比喻成“堆”;eg. seed(5):表示第5堆种子。

在进行机器学习和深度学习中,我们会经常用到np.random.seed(),利用随机数种子,使得每次生成的随机数相同。

np.random.randint(low, high=None, size=None, dtype='l')

low—–为最小值 
high—-为最大值 
size—–为数组维度大小 
dtype—为数据类型,默认的数据类型是np.int。 

从一个均匀分布中随机采样,生成一个整数或N维整数数组,
取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。


 

参考:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

​​​​​​np.random.seed() 的使用详解 - sowhat1412 - 博客园

np.random.randint()的用法详解_缘 源 园的博客-CSDN博客_np.random.randint

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值