接着上次的内容接着讲,连续号都续上哈
七、numpu中random的随机生成函数
以下总结的是比较常用到的函数:
下面分别介绍一下不用的用法:
首先导入创建函数
import numpy as np
np.random.seed(666)
1、 rand(d0,d1,d2,...,dn):返回数据[0,1)之间,具有均匀分布
np.random.rand(5)
np.random.rand(3,4)
np.random.rand(2,3,4)
结果如下:
2、randn(d0,d1,d2,...,dn) :返回数据具有标准正态分布(均值0,方差1 )
np.random.randn(5)
np.random.randn(3,4)
np.random.randn(2,3,4)
结果如下:
3、randint(low[,high,size,dtype]):生成随机整数,包含low,不包含high。如果high不指定,则从[0,low)中生成数字
np.random.randint(3)
np.random.randint(1,10)
np.random.randint(10,30,size=(5))
np.random.randint(10,30,size=(2,3,4))
结果如下:
4、random([size]):生成[0.0,1.0)的随机数
结果如下:
5、choice(a[, size, replace, p]):a是一维数组,从它里面生成随机结果
#这时候,a是数字,则从range(5)中生成,size为3
np. random. choice(5,3)
np.random.choice(5,(2,3))
# 这时候,a是数组,从里面随机取出数字
np.random.choice([2,3,6,7,9],3)
np.random.choice([2,3,6,7,9],(2,3))
结果如下:
6、shuffle(x):把一个数组x进行随机排列
a = np.arange(10)
np.random.shuffle(a)
a = np.arange(20).reshape(4, 5)
#如果数组是多维的,则只会在第一维度打散数据
np.random.shuffle(a)
结果如下:
7、permutation(x):把一个数组x进行随机排列,或者数字的全排列
# 这时候,生成range(10)的随机排列
np.random.permutation(10)
# 这时候,在第一维度进行打散
arr = np.arange(9).reshape((3,3)
# 注意,这里不会更改原来的arr,会返回一个新的copy
np.random.permutation(arr)
结果如下:
8、normal([loc, scale, size]):按照平均值loc和方差scale生成高斯分布的数字
直接展示结果过如下:
9、uniform([low, high, size]):在[low, high)之间生成均匀分布的数字
直接展示结果如下:
常用的随机函数就到这里,我们会在下一篇讲解新的数字统计函数,有兴趣的小伙伴可以看主页查看章节