NumPy 函数手册:随机数(numpy.random)
在数据分析、统计模拟以及机器学习中经常需要生成随机数。例如• 生成随机样本• 构造模拟数据• 初始化模型参数• 实现随机抽样NumPy 提供了一组用于随机数生成random number generation的函数可以生成多种概率分布的数据。这些函数主要集中在 numpy.random 模块中。需要说明的是从 NumPy 1.17 开始官方推荐使用新的随机数生成体系Generator 对象。本文介绍的 numpy.random.* 函数属于传统随机数接口legacy API但由于其在大量代码与教材中仍被广泛使用因此仍具有重要学习价值。按照功能划分NumPy 的随机数函数通常可以分为五类1随机数生成器控制2均匀分布随机数3整数随机数4随机抽样与排列5常见概率分布一、随机数生成器控制在进行随机数计算时经常需要固定随机数序列以便实验结果可以复现。seed()设置随机数种子Random Seed。numpy.random.seed(seed)参数说明• seed整数种子值示例import numpy as np np.random.seed(42) np.random.rand(3)输出示例[0.37454012 0.95071431 0.73199394]说明设置相同的 seed在相同的 NumPy 版本与实现下通常可以复现相同的随机序列。二、均匀分布随机数均匀分布Uniform Distribution是最常见的随机数类型。NumPy 中部分函数名称并未直接体现 “uniform”例如 rand() 与 random()但它们本质上都生成 [0,1) 区间的均匀分布随机数。rand()生成 [0, 1) 区间的均匀分布随机数。numpy.random.rand(d0, d1, ..., dn)参数说明• d0, d1, ...输出数组的形状示例np.random.rand(2,3)输出示例[[0.12 0.56 0.91] [0.44 0.32 0.77]]说明返回值范围为 0 ≤ x 1。random()生成 [0,1) 区间的均匀分布随机数。numpy.random.random(sizeNone)参数说明• size输出数组形状示例np.random.random((2,3))uniform()生成指定区间的均匀分布随机数。numpy.random.uniform(low0.0, high1.0, sizeNone)参数说明• low最小值包含• high最大值通常不包含• size输出数组形状示例np.random.uniform(10, 20, size5)输出示例[13.4 17.1 10.8 19.2 15.6]三、整数随机数NumPy 还可以生成随机整数。randint()生成指定范围的随机整数。numpy.random.randint(low, highNone, sizeNone, dtypeint)参数说明• low最小值包含• high最大值不包含• size输出数组形状• dtype输出整数的数据类型示例np.random.randint(0, 10, size5)输出示例[3 7 1 9 0]说明生成范围为 low ≤ x high。四、随机抽样与排列NumPy 提供了一组函数用于随机抽样和随机排列。choice()从数组中随机选择元素。numpy.random.choice(a, sizeNone, replaceTrue, pNone)参数说明• a数组或整数若为整数 n则表示从 0~n-1 中选择• size抽样数量• replace是否允许重复抽样• p概率分布应与 a 的长度一致且概率和为 1示例np.random.choice([10,20,30,40], size3)输出示例[20 40 10]permutation()生成随机排列。numpy.random.permutation(x)参数说明• x整数或数组如果 x 为整数 n返回 0n-1 的随机排列。如果 x 为数组则返回数组元素的随机排列。示例np.random.permutation(5)输出示例[3 0 4 1 2]shuffle()原地打乱数组顺序。numpy.random.shuffle(x)参数说明• x输入数组示例a np.array([1,2,3,4,5])np.random.shuffle(a) print(a)说明shuffle() 会直接修改原数组。对多维数组shuffle() 只会打乱第一轴行顺序。五、常见概率分布NumPy 可以生成多种概率分布数据。normal()生成正态分布随机数Normal Distribution。numpy.random.normal(loc0.0, scale1.0, sizeNone)参数说明• loc均值• scale标准差• size输出数组形状示例np.random.normal(0, 1, size5)说明默认参数时生成标准正态分布。标准正态分布常用于描述自然随机误差、统计推断以及机器学习中的数据标准化与随机初始。binomial()生成二项分布随机数。numpy.random.binomial(n, p, sizeNone)参数说明• n试验次数• p成功概率• size输出数组形状示例np.random.binomial(10, 0.5, size5)说明二项分布常用于描述 n 次独立试验中的成功次数。poisson()生成泊松分布随机数。numpy.random.poisson(lam1.0, sizeNone)参数说明• lam平均发生次数• size输出数组形状示例np.random.poisson(3, size5)说明泊松分布常用于描述单位时间或单位空间内事件发生次数。exponential()生成指数分布随机数。numpy.random.exponential(scale1.0, sizeNone)参数说明• scale尺度参数• size输出数组形状示例np.random.exponential(1.0, size5)说明指数分布常用于描述事件发生之间的时间间隔。gamma()生成 Gamma 分布随机数。numpy.random.gamma(shape, scale1.0, sizeNone)参数说明• shape形状参数• scale尺度参数• size输出数组形状示例np.random.gamma(2.0, 2.0, size5)说明Gamma 分布常用于描述等待时间、事件累计时间以及作为贝叶斯统计中的先验分布。beta()生成 Beta 分布随机数。numpy.random.beta(a, b, sizeNone)参数说明• a形状参数 α• b形状参数 β• size输出数组形状示例np.random.beta(2, 5, size5)说明Beta 分布常用于概率建模与贝叶斯统计。chisquare()生成卡方分布随机数。numpy.random.chisquare(df, sizeNone)参数说明• df自由度• size输出数组形状示例np.random.chisquare(3, size5)说明卡方分布常用于统计检验与方差分析。lognormal()生成对数正态分布随机数。numpy.random.lognormal(mean0.0, sigma1.0, sizeNone)参数说明• mean对数均值• sigma对数标准差• size输出数组形状示例np.random.lognormal(0, 1, size5)说明若变量的对数服从正态分布则该变量服从对数正态分布。 小结NumPy 在 numpy.random 模块中提供了一套传统随机数生成函数体系包括均匀分布随机数rand、uniform、随机整数randint、随机抽样与排列choice、permutation、shuffle以及多种概率分布如 normal、binomial、poisson、gamma、beta、chisquare、lognormal 等。这些函数构成了 NumPy 在统计模拟、数据分析与机器学习实验中的基础工具。“点赞有美意赞赏是鼓励”

相关新闻

突破《原神》60fps限制:开源帧率解锁工具全解析

突破《原神》60fps限制:开源帧率解锁工具全解析

突破《原神》60fps限制:开源帧率解锁工具全解析 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 如何解决高刷新率显示器的性能浪费问题? 高刷新率显示器已成为游…

2026/7/4 15:24:36 阅读更多 →
HEVC在4K超高清直播中的实战应用方案

HEVC在4K超高清直播中的实战应用方案

最近在做一个4K超高清直播的项目,核心目标是把端到端的延迟压到500毫秒以内,同时还要保证画质清晰流畅。经过一番调研和折腾,最终选择了HEVC(H.265)编码技术作为核心,搭配一套完整的采集、编码、传输方案&a…

2026/5/17 8:38:48 阅读更多 →
当MCP遇上OAuth 2026:零信任身份流水线如何实现设备指纹+行为画像+上下文策略的实时联动?——某智能汽车云平台200ms内完成动态授权决策的真实架构图

当MCP遇上OAuth 2026:零信任身份流水线如何实现设备指纹+行为画像+上下文策略的实时联动?——某智能汽车云平台200ms内完成动态授权决策的真实架构图

第一章:当MCP遇上OAuth 2026:零信任身份流水线如何实现设备指纹行为画像上下文策略的实时联动?——某智能汽车云平台200ms内完成动态授权决策的真实架构图在智能汽车云平台的实际生产环境中,传统OAuth 2.1授权流程无法满足车端毫秒…

2026/7/3 8:14:15 阅读更多 →

最新新闻

怎样轻松实现图像隐写分析:StegOnline开源工具的实战指南

怎样轻松实现图像隐写分析:StegOnline开源工具的实战指南

怎样轻松实现图像隐写分析:StegOnline开源工具的实战指南 【免费下载链接】StegOnline A web-based, accessible and open-source port of StegSolve. 项目地址: https://gitcode.com/gh_mirrors/st/StegOnline 图像隐写技术是信息安全领域的重要分支&#x…

2026/7/5 1:02:06 阅读更多 →
AI 辅助特征工程:别让模型把脏字段包装成高价值特征

AI 辅助特征工程:别让模型把脏字段包装成高价值特征

AI 辅助特征工程:别让模型把脏字段包装成高价值特征 一、自动特征工程也需要治理 机器学习项目里,AI 可以帮助生成特征候选、解释字段含义、发现组合变量。效率确实高了,但风险也变大:如果源字段质量差、口径不稳定、存在数据泄露…

2026/7/5 1:02:06 阅读更多 →
网络安全渗透测试入门:从DVWA到在线靶场的实战训练指南

网络安全渗透测试入门:从DVWA到在线靶场的实战训练指南

1. 靶场入门:为什么说它是渗透测试的“新手村”与“演武场”如果你刚接触网络安全,对“渗透测试”这个词既感到兴奋又有些迷茫,不知道从哪里开始动手,那么“靶场”就是你绕不开的第一个关键节点。你可以把它理解为一个完全合法、安…

2026/7/5 0:56:03 阅读更多 →
【大白话说Java面试题 第154题】【06_Spring篇】第14题:Spring 支持的 Bean 作用域

【大白话说Java面试题 第154题】【06_Spring篇】第14题:Spring 支持的 Bean 作用域

📌 PDF:大白话说Java面试题 — 06_Spring篇 第14题:Spring 支持的 Bean 作用域 📚 回答: 核心考点: Spring Bean 作用域是 Spring IoC 容器的核心设计之一,大厂面试不会只问"有哪几种&qu…

2026/7/5 0:56:03 阅读更多 →
跨线程大数据的免拷贝黑科技:拆解 Qt 内存管理与“非 const 性能刺客”

跨线程大数据的免拷贝黑科技:拆解 Qt 内存管理与“非 const 性能刺客”

在构建高性能系统(如局域网分布式总线、实时语音转文字终端、或本地 AI 模型中转网关)时,我们经常需要在不同的线程之间频繁流转海量的原始字节数据(如 QByteArray)。 许多初学者、甚至有经验的 C 开发者在刚接触 Qt 多…

2026/7/5 0:54:02 阅读更多 →
FModel:Unreal Engine游戏档案浏览器完整指南

FModel:Unreal Engine游戏档案浏览器完整指南

FModel:Unreal Engine游戏档案浏览器完整指南 【免费下载链接】FModel Unreal Engine Archives Explorer 项目地址: https://gitcode.com/gh_mirrors/fm/FModel FModel是一款基于C#开发的Unreal Engine档案浏览器,专为游戏开发者和逆向工程师设计…

2026/7/5 0:54:02 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻