python 之numpy 之随机生成数

文章目录

  • [1. **生成均匀分布的随机浮点数**:](#1. 生成均匀分布的随机浮点数:)
  • [2. **生成随机整数**:](#2. 生成随机整数:)
  • [3. **生成标准正态分布随机数**:](#3. 生成标准正态分布随机数:)
  • [4. **生成正态分布随机数**:](#4. 生成正态分布随机数:)
  • [5. **生成均匀分布的随机浮点数**:](#5. 生成均匀分布的随机浮点数:)
  • [6. **生成随机抽样**:](#6. 生成随机抽样:)
  • [7. **设置随机数种子**:](#7. 设置随机数种子:)
  • [8. **随机重排数组元素**:](#8. 随机重排数组元素:)

np.random 模块提供了多种随机数生成函数,用于生成不同类型的随机数据。以下是对每种用法的详细介绍以及相应的示例代码:

1. 生成均匀分布的随机浮点数

使用 np.random.random() 函数,生成均匀分布的随机浮点数,范围在 [0.0, 1.0) 区间内。

python 复制代码
import numpy as np

# 生成一个随机浮点数
rand_num = np.random.random()
print("随机浮点数:", rand_num)

2. 生成随机整数

使用 np.random.randint() 函数,生成指定范围内的随机整数。

python 复制代码
import numpy as np

# 生成一个随机整数,范围在 [0, 10) 内
rand_int = np.random.randint(0, 10)
print("随机整数:", rand_int)

3. 生成标准正态分布随机数

使用 np.random.randn() 函数,生成符合标准正态分布(均值为 0,标准差为 1)的随机数。

python 复制代码
import numpy as np

# 生成一个符合标准正态分布的随机数
rand_normal = np.random.randn()
print("标准正态分布随机数:", rand_normal)

4. 生成正态分布随机数

使用 np.random.normal() 函数,生成指定均值和标准差的正态分布随机数。

python 复制代码
import numpy as np

# 生成均值为 5,标准差为 2 的正态分布随机数
rand_normal = np.random.normal(loc=5, scale=2)
print("正态分布随机数:", rand_normal)

5. 生成均匀分布的随机浮点数

使用 np.random.uniform() 函数,生成在指定范围内均匀分布的随机浮点数。

python 复制代码
import numpy as np

# 生成一个在 [2.0, 4.0) 范围内的随机浮点数
rand_uniform = np.random.uniform(2.0, 4.0)
print("均匀分布随机数:", rand_uniform)

6. 生成随机抽样

使用 np.random.choice() 函数,从给定的数组中随机选择元素,可以指定抽样数量和是否允许重复选择。

python 复制代码
import numpy as np

# 从列表中随机抽样 3 个元素,允许重复选择
sample = np.random.choice([1, 2, 3, 4, 5], size=3, replace=True)
print("随机抽样:", sample)

7. 设置随机数种子

使用 np.random.seed() 函数,设置随机数生成器的种子,以便使随机数生成可重复。

python 复制代码
import numpy as np

# 设置随机数种子
np.random.seed(42)

# 生成随机数
rand_num = np.random.random()
print("随机浮点数:", rand_num)

8. 随机重排数组元素

使用 np.random.shuffle() 函数,对数组进行随机重排。

python 复制代码
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
np.random.shuffle(arr)
print("随机重排后的数组:", arr)

这些是 np.random 模块中常见的随机数生成函数的用法示例。这些函数在不同的数据分析、模拟、机器学习等应用中非常有用,可以用于生成模拟数据、进行随机实验、初始化权重矩阵等各种情况。

相关推荐
子榆.5 分钟前
CANN ATC编译器:模型从Python到达芬奇指令走了多远
开发语言·python·neo4j
lookaroundd5 分钟前
llm-compressor 普通量化调用链分析
python·算法
Loo国昌9 分钟前
从 Agent 编排到 Skill Runtime:企业 AI 工程化的下一层抽象
大数据·人工智能·后端·python·自然语言处理
Dontla16 分钟前
Multi-Agent多智能体项目如何从MVP过渡到生产项目?
开发语言
编码者卢布21 分钟前
【Azure Service Bus】Azure Service Bus Java SDK 中 Token 刷新异常的排查思路
java·python·azure
兰令水23 分钟前
topcode【随机算法题】【2026.5.20打卡-java版本】
java·开发语言·算法
liuyunshengsir25 分钟前
PyTorch 最小模型转 ONNX 完整样例
人工智能·pytorch·python
我还记得那天28 分钟前
C语言递归实现汉诺塔问题
c语言·开发语言
不吃土豆的马铃薯29 分钟前
Spdlog 入门:日志记录器与日志槽基础详解
服务器·开发语言·c++·c·日志·spdlog
凯瑟琳.奥古斯特38 分钟前
传输层核心功能解析
开发语言·网络·职场和发展