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

相关推荐
Echo缘14 分钟前
嵌入式系统C语言资源分类与内存分布分析
c语言·开发语言
JaneConan33 分钟前
鸿蒙 ArkUI 深水区:@Watch 和 @Observed,状态变了「自动跑」+ 嵌套对象「深层重绘」
开发语言·后端·ui·harmonyos
赤水无泪37 分钟前
qt中图标、名称的设置方式
开发语言·qt
王莎莎-MinerU43 分钟前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
橘子海全栈攻城狮1 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
在水一缸1 小时前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2
AC赳赳老秦1 小时前
OpenClaw 采集任务日志审计:全程记录采集行为,满足合规溯源与企业审计要求
java·大数据·python·数据挖掘·数据分析·php·openclaw
-银雾鸢尾-1 小时前
C#中Object类内的方法
开发语言·c#
huangdong_2 小时前
电商图片下载工具横向对比深度评测:固乔、FATKUN、图快、当图、淘蛙、存图宝七款工具全面解析
python
浮江雾2 小时前
Flutter第十节-----Flutter布局与组件全解析
android·开发语言·前端·学习·flutter·入门