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

相关推荐
爱学习的阿磊1 分钟前
自定义操作符重载指南
开发语言·c++·算法
fenglllle8 分钟前
使用fyne做一个桌面ipv4网段计算程序
开发语言·go
WangYaolove131412 分钟前
基于Python的旅游城市关键词分析
python·django·毕业设计·源码·计算机源码
上海合宙LuatOS22 分钟前
LuatOS框架的使用(2)
java·服务器·开发语言·前端·数据库·嵌入式硬件·php
一起养小猫23 分钟前
Flutter for OpenHarmony 实战 文件存储与数据库操作完全指南
开发语言·jvm·数据库·spring·flutter·harmonyos
2301_7657031424 分钟前
深入理解Python的if __name__ == ‘__main__‘
jvm·数据库·python
浒畔居25 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
云游云记25 分钟前
php Composer 使用全攻略
开发语言·php·composer
有一个好名字34 分钟前
力扣-省份数量
python·算法·leetcode
独自破碎E35 分钟前
LCR004-只出现一次的数字II
java·开发语言