Python的随机矩阵生成
导入模块random模块numpy中的random函数python中有两个模块可以生成随机数,该博客以的numpy模块为例进行生成随机数。(因为矩阵要生成大量的随机数据,故推荐使用numpy模块生成随机数)
生成随机数(以矩阵为例)#生成随机矩阵importnumpyasnp#设置随机种子,保证每次生成的随机数一样,可以不设置(去除下面一行代码,将所有的rd替换成np.random即可)rd=np.random.RandomState(888)#随机整数matrix=rd.randint(-2,3,(10,10))#随机生成[-2,3)的整数,10x10的矩阵#matrix=rd.randint(-2,3,[10,10])#效果同上#print(matrix)#随机浮点数matrix1=rd.random((5,5))#随机生成一个[0,1)的浮点数,5x5的矩阵#print(matrix1)如果想要生成固定区间的浮点数,可以采用如下两种方法
#生成随机矩阵importnumpyasnp#设置随机种子,保证每次生成的随机数一样,可以不设置(去除下面一行代码,将所有的rd替换成np.random即可)rd=np.random.RandomState(888)#方法一matrix1=rd.random((5,5))*5-2#随机生成[-2,3)的浮点数,5x5的矩阵#方法二matrix1=rd.uniform(-2,3,(5,5))#随机生成[-2,3)的浮点数,5x5的矩阵#print(matrix1)生成固定分布的随机数#服从特定分布的随机数#生成随机矩阵importnumpyasnp#设置随机种子,保证每次生成的随机数一样,可以不设置(去除下面一行代码,将所有的rd替换成np.random即可)rd=np.random.RandomState(888)#1.均匀分布matrix_uniform=rd.uniform(-2,3,(5,5))#随机生生成[-2,3)内的均匀分布随机浮点数,5x5的矩阵#print(matrix_uniform)#2.正态分布matrix_normal=rd.normal(5,1,[5,5])#生成一个正态分布的随机数,均值为5,标准差为1,5x5的矩阵#print(matrix_normal)#3.泊松分布matrix_poisson=rd.poisson(5,(5,5))#生成一个泊松分布的随机数,均值为5,5x5的矩阵#print(matrix_poisson)#4.指数分布matrix_exponential=rd.exponential(5,[5,5])#生成一个指数分布的随机数,均值为5,5x5的矩阵#print(matrix_exponential)参考博客Python中随机数的生成python生成随机数的两种方法python随机生成列表的五种方法
**
方法一:np.random.rand()**导入numpy,利用库中的random下的rand函数生成0~1之间的浮点数
importnumpyasnpA=np.random.rand(10)#10是生成10个浮点数print(A)结果:
[0.401246520.614315660.328454110.714944090.138774070.530638080.594800260.457509340.979743780.78729244]**
方法二:np.random.randn()**注意:一般情况下具有一定的标准正态分布,我这好像没体现,应该是我没有给他排序就画图了,所以没有体现B.sort()即可将随机生成的列表B进行顺序排序生成一个列表随机返回10个元素
importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#A=np.random.rand(10)#print(A)B=np.random.randn(10)print(B)plt.plot(B)plt.show()**
方法三:np.random.randint()注:生成上下限范围内定量的整数上下限左闭右开**
importnumpyasnpC=np.random.randint(0,10,size=10)print(C)小插曲:返回一个范围内随机值可能值1,2,3,4,5
importnumpyasnpD=np.random.random_integers(5)print(D)**
方法四:np.random.shuffle(x)#shuffle打乱**
importnumpyasnpE=np.arange(10)#生成列表[1,2,3,4,5,6,7,8,9]print(E)np.random.shuffle(E)print(E)**
方法五:**还没想到,有知道的可以评论区留言,谢谢-_-
Python如何产生20个随机整数?
在Python中,要产生随机整数,可以使用的方法有很多,比如:生成随机不重复的整数,可以使用random中的sample;生成完全随机的整数,可以用numpy中的random.randint,接下来是具体的内容介绍。
Python产生20个随机整数的方法:
1、Python生成随机不重复的整数,用random中的sample
index=random.sample(range(0,20),20)
上面是生成不重复的20个从0-9的整数。
2、Python生成完全随机的整数,用numpy中的random.randint
index=np.random.randint(0,20,size=20)
生成的是可能会重复的20个从0-20的整数。
python随机生成多个不同的数
今天写代码的时候需要用到随机数,仅仅使用torch.randint(1,10,(4,))发现会出来相同的数。
为了得到不同的随机数,可以利用Python中的random.sample()函数。res=random.sample(range(low,high),N);#表示从[low,high]区间随机生成N个数,结果以列表返回