random:
numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组,均匀分布
#numpy.random.rand(d0, d1, ..., dn) import numpy as np #无参 np.random.rand()#生成生成[0,1)之间随机浮点数 type(np.random.rand())#float #d0,d1....表示传入的数组形状 #一个参数 np.random.rand(1)#array([ 0.44280931]) type(np.random.rand(1))#numpy.ndarray np.random.rand(5)#生成一个形状为5的一维数组 #两个参数 np.random.rand(2,3)#生成2x3的二维数组 #np.random.rand((2,3))#报错,参数必须是整数,不能是元组
numpy.random.randn(d0, d1, ..., dn):生成一个浮点数或N维浮点数组,正态分布
#numpy.random.randn(d0, d1, ..., dn) import numpy as np #无参 np.random.randn()#1.4872544578730051,不一定是[0,1)之间的随机数 #一个参数 np.random.randn(1) np.random.randn(5)#生成形状为5的一维数组 #两个参数 np.random.randn(2,3)#生成2x3数组 #np.random.randn((2,3))#报错,参数必须是整数
numpy.random.standard_normal(size=None):生产一个浮点数或N维浮点数组,标准正态分布
import numpy as np #numpy.random.standard_normal(size=None) #size为整数 np.random.standard_normal(2)#array([-2.04606393, -1.05720303]) #size为整数序列 np.random.standard_normal((2,3)) np.random.standard_normal([2,3]).shape#(2, 3)
numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。
#numpy.random.randint(low, high=None, size=None, dtype='l') import numpy as np #low=2 np.random.randint(2)#生成一个[0,2)之间随机整数 #low=2,size=5 np.random.randint(2,size=5)#array([0, 1, 1, 0, 1]) #low=2,high=2 #np.random.randint(2,2)#报错,high必须大于low #low=2,high=6 np.random.randint(2,6)#生成一个[2,6)之间随机整数 #low=2,high=6,size=5 np.random.randint(2,6,size=5)#生成形状为5的一维整数数组 #size为整数元组 np.random.randint(2,size=(2,3))#生成一个2x3整数数组,取数范围:[0,2)随机整数 np.random.randint(2,6,(2,3))#生成一个2x3整数数组,取值范围:[2,6)随机整数 #dtype参数:只能是int类型 np.random.randint(2,dtype='int32')
numpy.random.seed(x)
import numpy as np np.random.seed(0) a = np.random.rand(2,3) print(a) np.random.seed(0) b = np.random.rand(2,3) print(b)
a.shuffle(a) 根据数组的最外轴进行随机排列,改变原来数组
a.permutation(a) 根据数组的最外轴产生随机排序,不改变原来数组
np.choice(a[,size,replace,p]) 在一维数组a中以概率p抽取,形成size形状的新数组,replace表示是否可以选取重复数组
分布函数:
np.uniform(low,high,size) 产生均匀分布的数组,low起始值,high结束值,size形状
np.normal(loc,scale,size) 产生正态分布的数组,loc均值,scale标准差,size形状
np.poisson(lam,size) 产生泊松分布的数组,lam随机事件发生率,size形状
统计函数:
np.sum(a,axis=None) 根据给定轴axis计算数组a相关元素的和,axis整数或者元组
np.mean(a,axis-None) 根据给定轴axis计算数组a相关元素的数学期望,axis整数或者元组
np.average(a,axis-None,weights=None) 根据给定轴axis计算数组a相关元素的数学期望,axis加权平均值
np.std(a,axis=None) 根据给定轴axis计算数组a相关元素的标准差
np.var(a,axis=None) 根据给定轴axis计算数组a相关元素的方差
min(a) max(a) 计算数组a中元素的最小值,最大值
argmin(a) argmax(a) 计算数组a中元素最小值,最大值的降一维后下标
unravel_index(index,shape) 根据shape将一维下标index转换成多维下标
ptp(a) 计算数组a中元素最大值和最小值的差
median(a) 计算数组a中元素的中位数(中值)
import numpy as np b = np.arange(15).reshape(3,5) print(b) tip = np.argmax(b) print(tip) tip = np.unravel_index(tip,b.shape) print(tip)
梯度:
np.gradient(f) 计算数组f中元素的梯度,f为多维时,返回每个元素的梯度
梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值:a,b,c,其中b的梯度是(c-a)/2
import numpy as np a = np.arange(10) print(a) tidu = np.gradient(a) print(tidu) b = np.arange(15).reshape(3,5) print(b) tidu = np.gradient(b) print(tidu)
注:二维数组会有两个梯度