Python之np.random.rand()和np.random.randn()

本文深入探讨了Python中使用random模块和numpy库生成随机数的方法,涵盖了random、uniform、randint、randrange、choice、shuffle、sample等函数,以及np.random.rand()与np.random.randn()的详细解析和示例代码。
部署运行你感兴趣的模型镜像

往期回顾

Python中的random.[random、uniform、randint 、randrange、choice、shuffle、sample、RandomState、randint] 用法

函数解析

np.random.rand()与np.random.randn()函数用法相同

np.random.rand()函数

作用: 返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。

import numpy as np

print(np.random.rand())     # 0.8715430053815918
print(np.random.rand(1))    # [0.67880315]

print(np.random.rand(2, 2))  
"""[[0.48902475 0.0199786 ]
   [0.23096588 0.38963084]] """
np.random.randn()函数

语法:
np.random.randn(d0,d1,d2……dn)

  • 当函数括号内没有参数时,则返回一个浮点数;
  • 当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;
  • 当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵;
    的输入参数为元组(tuple).
  • np.random.randn()的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。

作用: 返回一个或一组服从标准正态分布的随机样本值。


[1]. np.random.rand()函数和np.random.randn()函数

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 概念重述 您询问的是 NumPy 中三个常用的随机数生成函数:`np.random.random`、`np.random.rand` `np.random.randn`。它们用于生成不同分布的随机数组,常用于模拟数据、机器学习初始化、统计抽样等场景。 --- ### 详解 #### 1. `np.random.random(size=None)` - **作用**:生成一个 `[0.0, 1.0)` 区间内服从均匀分布的随机样本。 - **参数说明**: - `size`:输出形状。若为整数,返回一维数组;若为元组,返回对应形状的多维数组。 - **示例**: ```python np.random.random(3) # 生成3个随机数,如:array([0.234, 0.678, 0.123]) np.random.random((2, 3)) # 生成2行3列的随机数组 ``` #### 2. `np.random.rand(d0, d1, ..., dn)` - **作用**:与 `random` 类似,但接受维度作为单独参数,生成 `[0.0, 1.0)` 均匀分布的随机数组。 - **参数说明**: - 每个参数代表一个维度。 - **示例**: ```python np.random.rand(2, 3) # 生成2行3列的随机数组 ``` #### 3. `np.random.randn(d0, d1, ..., dn)` - **作用**:生成服从标准正态分布(均值为 0,方差为 1)的随机样本。 - **参数说明**: - 每个参数代表一个维度。 - **示例**: ```python np.random.randn(2, 3) # 生成2行3列的标准正态分布随机数组 ``` --- ### 知识点 1. **NumPy 随机数生成** NumPy 提供多种函数生成不同分布的随机数,适用于模拟统计建模。 2. **均匀分布 vs 正态分布** - `random` `rand` 生成的是均匀分布; - `randn` 生成的是标准正态分布。 3. **数组形状控制** 使用 `size` 或维度参数控制输出数组的维度,便于数据初始化模拟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值