np.logical_and/or/not
逻辑与/或/非运算
>>>np.logical_and(True, False)
False
>>>np.logical_or(True, False)
True
>>>np.logical_not([True, False, 0, 1])
array([False, True, True, False], dtype=bool)
np.random
(1)numpy.random.randint(low, high=None, size=None, dtype='l')
生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。
- size: int or tuple of ints(可选)
输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
(2)numpy.random.choice(a, size=None, replace=True, p=None)
从序列中获取元素,若a为整数,元素取值为np.range(a)中随机数;若a为数组,取值为a数组元素中随机元素。
参数
- p:
可以理解成a中元素出现的概率,p的长度和a的长度必须相同,且p中元素之和为1,否则报错
- size: int or tuple of ints(可选)
输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
replace
>>> np.random.choice([10,20],(3),replace=True)
array([10, 10, 10])
>>> np.random.choice([10,20],(3),replace=False)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mtrand.pyx", line 1168, in mtrand.RandomState.choice
ValueError: Cannot take a larger sample than population when 'replace=False'
(3)random.rand(X,Y)
第一个参数为行数,第二个参数为列数,随机生成一个0-1之间的数
(4)numpy.random.randn(d0,d1,…,dn)
randn函数返回一个或一组样本,具有标准正态分布。dn代表每个维度
(5)random.shuffle
将列表中元素打乱
>>> list1=[10,20,30,40,50,60]
>>> np.random.shuffle(list1)
>>> list1
[60, 40, 10, 20, 50, 30]