如何用python随机生成正态分布的正整数
时间: 2023-04-11 12:00:39 浏览: 1037
可以使用numpy库中的random模块中的randint函数来生成正态分布的正整数。具体代码如下:
```python
import numpy as np
mu, sigma = 0, 0.1 # 均值和标准差
s = np.random.normal(mu, sigma, 1000) # 生成1000个正态分布的随机数
s = s.astype(int) # 转换为整数类型
s = s[s > 0] # 取大于0的数
result = np.random.choice(s, 1)[0] # 随机选择一个数
print(result)
```
这段代码会生成1000个均值为0,标准差为0.1的正态分布随机数,然后将其转换为整数类型,并取大于0的数。最后从中随机选择一个数作为结果。
相关问题
python生成正态分布随机数
可以使用Python中的numpy.random模块的normal函数生成正态分布随机数。
示例代码:
```python
import numpy as np
# 生成均值为0,标准差为1的正态分布随机数
x = np.random.normal(0, 1, size=(10,))
print(x)
```
输出结果:
```
[ 0.07669207 -0.9634825 0.89112761 0.4829519 0.09601231 -2.2682871
0.17812408 0.36679278 -0.21227115 1.44244452]
```
其中,np.random.normal函数的参数依次为:
- loc:正态分布的均值;
- scale:正态分布的标准差;
- size:生成随机数的个数,可以是一个整数,也可以是一个元组。
python 生成多元正态分布
你可以使用NumPy库中的random模块来生成多元正态分布。可以按照以下步骤进行操作:
1. 导入所需的库:
```python
import numpy as np
```
2. 定义均值向量和协方差矩阵:
```python
mean = np.array([0, 0]) # 均值向量
cov_matrix = np.array([[1, 0], [0, 1]]) # 协方差矩阵
```
3. 使用`np.random.multivariate_normal()`函数生成多元正态分布的样本数据:
```python
samples = np.random.multivariate_normal(mean, cov_matrix, size=100)
```
在上述代码中,`size`参数指定生成的样本数量。
这样,你就可以得到一个具有多元正态分布的样本数据。你可以根据自己的要求修改均值向量和协方差矩阵来生成不同的分布。
阅读全文