numpy基础--random模块:随机数生成
以下代码的前提:import numpy as np
numpy.random模块对python内置的random进行了补充,增加了一些高效生成多种概率分布的样本值的函数。例如可以用normal来得到一个正态分布的样本数组。
1 >>> samples = np.random.normal(size=(4, 4))
2 >>> samples
3 array([[-1.45057151, 0.80108401, 1.3671828 , 0.34067137],
4 [-0.351859 , 1.24758539, -0.26833999, -1.59481081],
5 [-0.81700215, 0.62729444, -0.34062153, -1.38731507],
6 [-0.07054579, 0.48847421, 0.66410904, 0.75402961]])
7 >>>
下表是部分numpy.random函数。
| 函数 | 说明 |
|---|---|
| seed | 确定随机数生成器的种子,使用MT19937算法生成随级数 |
| permutation | 返回一个序列的随机排列或返回一个随机排列的范围 |
| shuffle | 对一个序列就地随机排序 |
| rand | 产生均匀分布的样本值 |
| randint | 从给定的上下限范围内随机选取整数 |
| randn | 产生正态分布(平均值为0,标准差为1)的样本值 |
| binomial | 产生二项分布的样本值 |
| normal | 产生正态(高斯)分布的样本值 |
| beta | 产生beta分布的样本值 |
| chisquare | 产生卡方分布的样本值 |
| gamma | 产生gamma分布的样本值 |
| uniform | 产生在[0, 1)中均匀分布的样本值 |
numpy.random.permutation — NumPy v1.21 Manual
>>> np.random.permutation(10)
array([4, 1, 9, 5, 7, 6, 2, 3, 8, 0])
>>> np.random.permutation(10)
array([5, 8, 0, 4, 2, 9, 7, 3, 1, 6])
>>> np.random.permutation([1, 4, 9, 12, 15])
array([15, 12, 4, 9, 1])
>>> np.random.permutation([1, 4, 9, 12, 15])
array([12, 1, 4, 9, 15])
numpy.random.Generator.shuffle — NumPy v1.21 Manual
>>> arr = np.arange(10)
>>> np.random.shuffle(arr)
>>> arr
array([3, 1, 0, 9, 4, 7, 2, 5, 6, 8])
numpy.random.rand — NumPy v1.21 Manual
Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1). 创建的是[0, 1)之间均匀分布的随级数。
>>> np.random.rand(3, 2)
array([[0.07018308, 0.90561818],
[0.99432171, 0.26787643],
[0.28020959, 0.56367748]])
numpy.random.randint — NumPy v1.21 Manual
>>> np.random.randint(2, size=10)
array([0, 0, 1, 1, 0, 0, 0, 0, 1, 0])
>>> np.random.randint(2, 10, size=10)
array([6, 5, 3, 3, 2, 8, 3, 6, 7, 5])
numpy.random.randn — NumPy v1.21 Manual
Return a sample (or samples) from the “standard normal” distribution. 返回的是标准正态分布的样本值。
>>> np.random.randn()
0.08980201445589159
>>> 3 + 2.5 * np.random.randn(2, 4)
array([[-0.54181508, 1.91274669, -0.03481992, 4.13696276],
[ 2.5478997 , 5.99354068, -2.22818567, 1.80841191]])
numpy.random.binomial — NumPy v1.21 Manual
Draw samples from a binomial distribution. 返回的是二项分布的值。
方法:random.binomial(n, p, size=None)
概率密度函数:
>>> n, p = 10, .5
>>> np.random.binomial(n, p, 12)
array([3, 2, 6, 3, 6, 7, 6, 3, 6, 3, 5, 4])
numpy.random.uniform — NumPy v1.21 Manual
产生在[0, 1)中均匀分布的样本值。
random.uniform(low=0.0, high=1.0, size=None)
>>> np.random.uniform(-1, 0, 10)
array([-0.20440931, -0.45307924, -0.3799625 , -0.24008107, -0.45289709,
-0.2535697 , -0.21966943, -0.13334651, -0.53719732, -0.62820317])
>>> np.random.uniform(0, 1, 10)
array([0.79207298, 0.90605515, 0.31572444, 0.25714457, 0.05195628,
0.85805555, 0.29675482, 0.37778799, 0.20570759, 0.75019984])
numpy基础--random模块:随机数生成的更多相关文章
- numpy的random模块
随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...
- numpy的random模块详细解析
随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...
- Python基础-random模块及随机生成11位手机号
import random # print(random.random()) # 随机浮点数,默认取0-1,不能指定范围# print(random.randint(1, 20)) # 随机整数,顾头 ...
- python中numpy的random模块
1. rand(d0,d1,.....,dn)产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状 例如:np.random.rand(3,2)则产生 3×2的数组,里面的数是0-1 ...
- python基础--random模块
python使用random生成随机数 下面是主要函数random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0random.randint(a, b)生成的 ...
- 【numpy】新版本中numpy(numpy>1.17.0)中的random模块
numpy是Python中经常要使用的一个库,而其中的random模块经常用来生成一些数组,本文接下来将介绍numpy中random模块的一些使用方法. 首先查看numpy的版本: import nu ...
- Python基础系列讲解——random模块随机数的生成
随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...
- numpy.random模块常用函数解析
numpy.random模块中常用函数解析 numpy.random模块官方文档 1. numpy.random.rand(d0, d1, ..., dn)Create an array of the ...
- Day5- Python基础5 模块导入、time、datetime、random、os、sys、hashlib、json&pickle
本节目录: 1.模块的分类 2.模块的导入 3.time模块 4.datetime模块 5.random 6.os模块 7.sys模块 8.hashlib 9.json&pickle 一.模块 ...
- python基础(19):random模块、time模块、sys模块、os模块
1. random模块 导入的是random模块,格式是: import random 1.1 随机小数 取随机小数 : 数学计算. print(random.random()) # 取0-1之间的小 ...
随机推荐
- 一位 sealer maintainer 的心路历程
简介: 本文作者将回顾个人参与 sealer 开源项目的机缘巧合,参与过程中的挑战,以及从中获取的所悟所感,写下一段文字进行分享,希望对开源新人有所帮助,能够激励想参与开源工作但还未踏出第一步的同学. ...
- 最佳实践丨三种典型场景下的云上虚拟IDC(私有池)选购指南
简介:业务上云常态化,业务在云上资源的选购.弹性交付.自助化成为大趋势.不同行业的不同客户,业务发展阶段不一样,云上资源的成本投入在业务整体成本占比也不一样,最小化成本投入.最大化业务收益始终是不同 ...
- 阿里云 EventBridge 事件驱动架构实践
简介:我们认为 EventBridge 是云原生时代新的计算驱动力,这些数据可以驱动云的计算能力,创造更多业务价值. 作者:周新宇 本文内容整理自 中国开源年会 演讲 首先做一个自我介绍,我是 Ro ...
- DLF +DDI 一站式数据湖构建与分析最佳实践
简介: 本文由阿里云数据湖构建 DLF 团队和 Databricks 数据洞察团队联合撰写,旨在帮助您更深入地了解阿里云数据湖构建(DLF)+Databricks 数据洞察(DDI)构建一站式云上数据 ...
- python之Djiango框架简介
基础 # HTTP响应状态码 10X:服务端已经接受到你的数据了 你可以继续提交数据进行下一步操作 20X:请求成功(200) 30X:重定向(301,302) 40X:请求错误(404) 50X:服 ...
- 【Flink入门修炼】2-3 Flink Checkpoint 原理机制
如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢? 单机和多机会遇到什么不同的问题? Flink Checkpoint 是做什么用的?原理是什么? 一.什么是 Checkpoint? Chec ...
- 不只有 Spring,这四款 Java 基础开发框架同样值得关注! 审核中
Java 开发不只有 Spring ,今天给大家推荐几个同样优秀的 Java 基础开发框架,为日常项目开发提供更多的选择.答应我,请不要再叫我 Spring 小子了,好吗? 项目概览: Guice: ...
- GIS中XYZ瓦片的加载流程解析与实现
1. 什么是XYZ瓦片 XYZ瓦片是一种在线地图数据格式,常见的地图底图如Google.OpenStreetMap 等互联网的瓦片地图服务,都是XYZ瓦片,严格来说是ZXY规范的地图瓦片 ZXY规范的 ...
- S/4 HANA 中的 Email Template
电子邮件是非常常见的业务需求. SAP 了解这一点,并在 S/4 HANA(cloud和on premise)中引入了非常有趣的功能--Email Template.它将CDS视图和HTML模板结合了 ...
- 如何基于surging跨网关跨语言进行缓存降级
概述 surging是一款开源的微服务引擎,包含了rpc服务治理,中间件,以及多种外部协议来解决各个行业的业务问题,在日益发展的今天,业务的需求也更加复杂,单一语言也未必能抗下所有,所以在多语言行业解 ...