analysis专栏 01.科学计算模型nmupy 03.random随机数

 

# 03.random随机数

[toc]{type: "ol", level: [3,4,5]}

### 生成随机小数
> 生成0.0-1.0之间的随机数
#### 指定个数
- size=n
> 生成size个随机数
```python
numpy.random.random(size=2)
```
::: details result
array([0.60607276, 0.01306814])
:::

#### 指定行列
- size=(m,n)
> 生成m行n列个随机数


### 生成随机整数
#### 指定范围
```python
numpy.random.randint(6, 10, size=(10,))
```
::: details result
array([7, 6, 6, 6, 7, 8, 9, 8, 7, 8])
:::


### 正态分布随机数
#### 标准正态分布
> 默认:期望值为0,方差为1
```python
numpy.random.randn(2, 3, 4)
# 生成2个3行4列的多维数组
```

#### 自定义正太分布
normal         | 说明
:-------------|:---------------
loc           | 期望值 \
              | 默认为0 因此在0左右的数据,出现的频率最高
scale         | 方差 \
              | 方差越大,直方图越扁平
size          | 形状 \
              | 生成的数组的规格
```python
numpy.random.randn(0, 0.8, (2, 3, 4))
# 生成期望值为0并且方差为0.8的2个3行4列的多维数组
```


### 随机数种子
> 正常情况下,种子本身是随机生成的
> 用于代码测试时,保证数据不变
```python
numpy.random.seed(12)
numpy.random.random()
# 根据上一次生成的随机数,按照公式生成新的随机数
# 原始种子不变,则随机数不变
numpy.random.random()
```

### 随机排列
> 将数据打乱顺序(洗牌)
```python
arr = numpy.array([1, 2, 3, 4, 5, 6])
numpy.random.shuffle(arr)
print(arr)
```
::: details result
[2 1 5 6 4 3]
:::

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值