python 生成随机数的三种方法
文章目录
- 1. 使用 random 包生成随机数
- 2. 使用 numpy 包生成随机数
- 3. 使用 scipy 包生成随机数
1. 使用 random 包生成随机数
可以生成
均匀分布,
高斯分布,(包括正态分布)
指数分布,(与泊松分布有区别:泊松分布表示一段时间发生多少次,而指数分布表示两次发生的时间间隔)
贝塔分布,
韦布尔分布的随机数
由此可见,random 包支持的随机分布比较有限,功能较少.
例如:
(1) 生成 [1, 10] 内的均匀分布随机数
import random
random.uniform(1, 10)
Out[29]: 9.79867265758995
(2) 生成 [1, 10] 内的随机整数
random.randint(1, 10)
Out[30]: 2
(3) 生成一个正态分布的随机数,均值为 5, 标准差为 1
random.gauss(5, 1)
Out[32]: 4.933013260084848
(4) 生成一个指数分布的随机数,均值为 5
random.expovariate(0.2)
Out[37]: 4.670169382329602
2. 使用 numpy 包生成随机数
numpy 包的 random 方法基本支持所有分布,并且能够一次生成多行多列的随机数.
例如:
(1) 生成 [1, 10] 内的均匀分布随机数, 2 行 2 列
import numpy as np
np.random.uniform(1, 10, [2,2])
Out[46]:
array([[9.72571265, 9.37758659],[9.92487471, 9.37467146]])
(2) 生成 [1, 10] 内的随机整数, 2 行 2 列
np.random.randint(1, 10, [2,2])
Out[47]:
array([[6, 6],[8, 7]])
(3) 生成一个正态分布的随机数,均值为 5, 标准差为 1, 2 行 2 列
np.random.normal(5, 1, [2,2])
Out[48]:
array([[3.74927889, 5.75561821],[4.8353383 , 5.58410519]])
(4) 生成一个泊松分布的随机数,均值为 5, 2 行 2 列
np.random.poisson(5, [2,2])
Out[49]:
array([[7, 3],[4, 7]])
(4) 生成一个指数分布的随机数,均值为 5, 2 行 2 列
np.random.exponential(5, [2,2])
Out[57]:
array([[3.06834959, 2.70350511],[6.81427455, 2.91453029]])
3. 使用 scipy 包生成随机数
用 scipy 包不同分布函数自带的 rvs 生成随机数,例如,生成一个正态分布的 2 行 2 列随机数,均值为 5, 标准差为 1:
>>> import scipy.stats as st
>>> st.norm.rvs(loc=5, scale=1, size=[2,2])
array([[3.96964463, 4.14137383],[6.36342893, 3.99992325]])
生成一个泊松分布的 2 行 2 列随机数,均值为 5:
>>> st.poisson.rvs(mu=5, size=[2,2])
array([[5, 7],[3, 9]])
python 生成随机数的三种方法相关推荐
- python生成随机数方法_详解用python生成随机数的几种方法
今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下. 本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的 ...
- C#生成随机数的三种方法
随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...
- 生成随机数的三种方法
第一种最简单:利用STL的set容器 #include <set> using namespace std; class IntSet { public: IntSet(int n ...
- php生成随机数方法,php生成随机数的三种方法
如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. $arr=range(1,10); shuffle($arr); foreach($arr as $values ...
- python 生成随机数的几种方法
随机取一个: import random random.choice(string.digits)#从数字里随机选取一位数字: 随机取多位数: random.sample(string.digits, ...
- 生成不重复的随机数的三种方法
下面我以生成1-10之间的10个不重复的随机数为例介绍生成不重复的随机数的三种方法: 1,通过while循环来实现 通过while循环不停的生成随机数,直到生成一个不重复的为止,这种方法比较容易想 ...
- java 生成随机数_Java 生成随机数的 N 种方法
原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...
- 测试Python下载图片的三种方法
简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...
- python学习音频-详解python播放音频的三种方法
第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...
最新文章
- 构建现代化的命令行工具
- 自动驾驶汽车对保险业的影响
- Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期
- 去除表单元素的默认样式
- 如何判断一个字符串是不是纯数字
- Python实战应用-Clumper库函数全解析
- 转转集团:二手市场iPhone12夺5G销冠 华为Mate40 Pro最保值
- 【Flink】Flink 源码之快照
- ASTER文字识别详解
- 学习笔记:云计算安全CCSK
- windows设置开机默认启动用户
- 一文读懂内生性问题之两阶段最小二乘法TSLS
- 【PMP】七、项目成本管理
- 鲁大师最新电脑处理器排行,AMD依旧无敌,intel 12代酷睿抢占市场
- 循环-05. 兔子繁衍问题
- excel一列前加一固定值
- Linux 时间校准与同步
- IPv6专题系列:01. IPv6地址介绍
- 钟景华:相关规范或明年发布,大型和超大型数据中心PUE小于1.3/WUE小于1.6
- java堆栈、gc、dump文件在线分析