文章目录

  • 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 生成随机数的三种方法相关推荐

  1. python生成随机数方法_详解用python生成随机数的几种方法

    今天学习了用python生成仿真数据的一些基本方法和技巧,写成博客和大家分享一下. 本篇博客主要讲解如何从给定参数的的正态分布/均匀分布中生成随机数以及如何以给定概率从数字列表抽取某数字或从区间列表的 ...

  2. C#生成随机数的三种方法

    随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当 ...

  3. 生成随机数的三种方法

    第一种最简单:利用STL的set容器 #include <set> using namespace std; class IntSet { public:     IntSet(int n ...

  4. php生成随机数方法,php生成随机数的三种方法

    如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. $arr=range(1,10); shuffle($arr); foreach($arr as $values ...

  5. python 生成随机数的几种方法

    随机取一个: import random random.choice(string.digits)#从数字里随机选取一位数字: 随机取多位数: random.sample(string.digits, ...

  6. 生成不重复的随机数的三种方法

    下面我以生成1-10之间的10个不重复的随机数为例介绍生成不重复的随机数的三种方法: 1,通过while循环来实现   通过while循环不停的生成随机数,直到生成一个不重复的为止,这种方法比较容易想 ...

  7. java 生成随机数_Java 生成随机数的 N 种方法

    原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...

  8. 测试Python下载图片的三种方法

    简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...

  9. python学习音频-详解python播放音频的三种方法

    第一种 使用pygame模块 pygame.mixer.init() pygame.mixer.music.load(self.wav_file) pygame.mixer.music.set_vol ...

最新文章

  1. 构建现代化的命令行工具
  2. 自动驾驶汽车对保险业的影响
  3. Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期
  4. 去除表单元素的默认样式
  5. 如何判断一个字符串是不是纯数字
  6. Python实战应用-Clumper库函数全解析
  7. 转转集团:二手市场iPhone12夺5G销冠 华为Mate40 Pro最保值
  8. 【Flink】Flink 源码之快照
  9. ASTER文字识别详解
  10. 学习笔记:云计算安全CCSK
  11. windows设置开机默认启动用户
  12. 一文读懂内生性问题之两阶段最小二乘法TSLS
  13. 【PMP】七、项目成本管理
  14. 鲁大师最新电脑处理器排行,AMD依旧无敌,intel 12代酷睿抢占市场
  15. 循环-05. 兔子繁衍问题
  16. excel一列前加一固定值
  17. Linux 时间校准与同步
  18. IPv6专题系列:01. IPv6地址介绍
  19. 钟景华:相关规范或明年发布,大型和超大型数据中心PUE小于1.3/WUE小于1.6
  20. java堆栈、gc、dump文件在线分析

热门文章

  1. 图片隐写 放大放大再放大_放大结论
  2. 易语言大漠如何判断游戏登录成功
  3. 任旭阳兼任一点资讯CEO
  4. springboot-鑫源停车场管理系统 毕业设计 -附源码 290915
  5. 懂车帝app是哪个公司
  6. 商标价格与商标好坏成正比吗
  7. Python 正则替换字符串
  8. 最新最全垃圾分类小程序,含图片识别和语音识别,视频播放,垃圾分类搜索,垃圾知识答题,积分排行,文章推荐,收藏文章等功能
  9. 几点产品经理必备的经济学知识
  10. UPNP协议细节(转)