python如何生成随机数_Python生成50个随机数

python如何生成随机数_Python生成50个随机数文章目录 1 使用 random 包生成随机数 2 使用 numpy 包生成随机数 3 使用 scipy 包生成随机数 1 使用 random 包生成随机数 可以生成 均匀分布 高斯分布 包括正态分布 指数分布 与泊松分布有区别 泊松分布表示一段时间发生多少次 而指数分布表示两次发生的时间间隔 贝塔分布 韦布尔分布的随机数 由此可见 random

文章目录

1. 使用 random 包生成随机数

2. 使用 numpy 包生成随机数

3. 使用 scipy 包生成随机数

1. 使用 random 包生成随机数

可以生成
均匀分布,
高斯分布,(包括正态分布)
指数分布,(与泊松分布有区别:泊松分布表示一段时间发生多少次,而指数分布表示两次发生的时间间隔)
贝塔分布,
韦布尔分布的随机数

由此可见,random 包支持的随机分布比较有限,功能较少.

例如:
(1) 生成 [1, 10] 内的均匀分布随机数

import random
random.uniform(1, 10)
Out[29]: 9.79867265758995

(2) 生成 [1, 10] 内的随机整数

random.randint(1, 10)
Out[30]: 2

(3) 生成一个正态分布的随机数,均值为 5, 标准差为 1

random.gauss(5, 1)
Out[32]: 4.933013260084848

(4) 生成一个指数分布的随机数,均值为 5

 random.expovariate(0.2)
Out[37]: 4.670169382329602

2. 使用 numpy 包生成随机数

numpy 包的 random 方法基本支持所有分布,并且能够一次生成多行多列的随机数.

例如:
(1) 生成 [1, 10] 内的均匀分布随机数, 2 行 2 列

import numpy as np
np.random.uniform(1, 10, [2,2])
Out[46]:
array([[9.72571265, 9.37758659],
[9.92487471, 9.37467146]])

(2) 生成 [1, 10] 内的随机整数, 2 行 2 列

np.random.randint(1, 10, [2,2])
Out[47]:
array([[6, 6],
[8, 7]])

(3) 生成一个正态分布的随机数,均值为 5, 标准差为 1, 2 行 2 列

np.random.normal(5, 1, [2,2])
Out[48]:
array([[3.74927889, 5.75561821],
[4.8353383 , 5.58410519]])

(4) 生成一个泊松分布的随机数,均值为 5, 2 行 2 列

np.random.poisson(5, [2,2])
Out[49]:
array([[7, 3],
[4, 7]])

(4) 生成一个指数分布的随机数,均值为 5, 2 行 2 列

np.random.exponential(5, [2,2])
Out[57]:
array([[3.06834959, 2.70350511],
[6.81427455, 2.91453029]])

3. 使用 scipy 包生成随机数

用 scipy 包不同分布函数自带的 rvs 生成随机数,例如,生成一个正态分布的 2 行 2 列随机数,均值为 5, 标准差为 1:

>>> import scipy.stats as st
>>> st.norm.rvs(loc=5, scale=1, size=[2,2])
array([[3.96964463, 4.14137383],
[6.36342893, 3.99992325]])

生成一个泊松分布的 2 行 2 列随机数,均值为 5:

>>> st.poisson.rvs(mu=5, size=[2,2])
array([[5, 7],
[3, 9]])
编程小号
上一篇 2025-02-17 21:51
下一篇 2025-02-08 09:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/130604.html