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 小时前
解决 python-docx 生成的 Word 文档打开时弹出“无法读取内容“警告
python·word·wps·文档·docx·qoder
2401_832365522 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Sirius.z2 小时前
第J3周:DenseNet121算法详解
python
Bat U2 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰2 小时前
C++ 排列组合完整指南
开发语言·c++·算法
2301_779622412 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_766283443 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
foundbug9993 小时前
自适应滤除直达波干扰的MATLAB实现
开发语言·算法·matlab
XDH_CS3 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql