更多大数据分析、建模等内容请关注公众号《bigdatamodeling

在实现算法时经常会用到随机数,有时会忘记各种随机数的生成方法,这里对Python中的随机数生成方法进行汇总,以供以后查阅。

import numpy as np
# 两者实现的作用是一样的,都是使每次随机生成数一样
np.random.seed(10)
np.random.RandomState(10) ### 正态分布 np.random.normal(loc=0.0, scale=1.0, size=None)
np.random.normal() # 返回标量 ~N(0,1)
np.random.normal(1) # 返回标量 ~N(0,1)
np.random.normal(size=(2, 2)) # 返回N(0,1)
np.random.normal(0, 1, size=(2, 2)) # 同上
np.random.normal(2, 10, size=(2, 2)) ### 标准正态分布N(0,1)
np.random.randn() # 生成标量
np.random.randn(1)
np.random.randn(2)
np.random.randn(2, 2)
5 * np.random.randn(2, 2) + 10 ### 从均匀分布([low, high):半开区间)中进行采样
np.random.uniform(low=1, high=5, size=(2, 2))
np.random.uniform(1, 5, 10)
np.random.uniform(1, 5) # 生成[1, 5)中的1个标量 ### 从均匀分布([0, 1):半开区间)中进行采样
np.random.rand() # 生成标量
np.random.rand(1)
np.random.rand(2, 2) ### 生成半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)
np.random.randint(low=1, high=5, size=(2, 2))
np.random.randint(low=1, high=5, size=10)
np.random.randint(1, 5, 10) # 同上
np.random.randint(low=5, size=10)
np.random.randint(1, 5) # 生成[1, 5)中的1个标量 ### 生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]
np.random.random_integers(low=1, high=5, size=(2, 2))
np.random.random_integers(low=1, high=5, size=10)
np.random.random_integers(1, 5, 10) # 同上
np.random.random_integers(low=5, size=10)
np.random.random_integers(1, 5) # 生成[1, 5]中的1个标量 ### np.random.random 等价于 np.random.random_sample
# 返回[0,1)之间的随机数
np.random.random() # 返回标量
np.random.random(1)
np.random.random(2)
np.random.random((2, 3)) ### numpy.random.choice(a, size=None, replace=True, p=None)
# Generates a random sample from a given 1-D array
# 从数组a中选择,若a是整数,则从np.arange(a)中选择
# replace代表放回与否
# p为数组中每个元素被选中的概率,为空则表示均匀分布
np.random.choice(5, 3)
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
np.random.choice(5, 3, replace=False)
np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
np.random.choice(arr, 5, p=[0.5, 0.1, 0.1, 0.3])

python学习笔记-生成随机数的更多相关文章

  1. Python学习笔记(随机数)

    random模块的作用是产生随机数. import random num = random.randint(1,100) random.randint(a, b)可以生成一个a到b间的随机整数,包括a ...

  2. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  3. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  4. Python 学习笔记(上)

    Python 学习笔记(上) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(上) 基础知识 基本输入输出 模 ...

  5. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  6. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  7. 【Python学习笔记之二】浅谈Python的yield用法

    在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...

  8. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  9. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

随机推荐

  1. python 豆瓣top250电影的爬取

    我们先看一下豆瓣的robot.txt 然后我们查看top250的网页链接和源代码 通过对比不难发现网页间只是start数字发生了变化. 我们可以知道电影内容都存在ol标签下的 div class属性为 ...

  2. [设置] notepad++快捷设置之——用Finger Text实现自动补全代码

    1.我参考的设置方法:https://www.e-learn.cn/content/qita/2368404   和  http://www.itdaan.com/blog/2017/09/13/f7 ...

  3. nyoj 38-布线问题(prim, sort)

    38-布线问题 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:5 submit:11 题目描述: 南阳理工学院要进行用电线路改造,现在校长要求设计师 ...

  4. 【前端vue进阶实战】:从零打造一个流程图、拓扑图项目【Nuxt.js + Element + Vuex】 (一)

    本系列教程是用Vue.js + Nuxt.js + Element + Vuex + 开源js绘图库,打造一个属于自己的在线绘图软件,最终效果:topology.le5le.com .如果你觉得好,欢 ...

  5. SpringBoot让你的Bean动起来(自定义参数解析HandlerMethodArgumentResolver)

    SpringBoot让你的Bean动起来(自定义参数解析HandlerMethodArgumentResolver) 简介 我们 Controller 用到的一些 Bean 需要通过一定的方式去获取的 ...

  6. Freemarker + xml 实现Java导出word

    前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选择功能强大的freemarker+固定格式之后的wordxml实现导出功能.导出word的代码是可 ...

  7. 数据类型转换&运算符

    基本数据类型注意事项 整型类型:long>int>short>byte java默认类型为int型 long a = 123 表示将int类型的数值赋给更大范围的long类型,当数据 ...

  8. 数据库05 使用percona软件来进行数据备份

    1.为什么要与用percona来备份 常见的MySQL备份工具 —跨平台性差 —备份时间长.冗余备份.浪费存储空间 mysqldump备份缺点: —效率较低.备份与还原速度慢,锁表(即备份数据库中的一 ...

  9. Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现

    Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spr ...

  10. vuejs之路由应用之一

    什么是‘路由’,路由相当于一个映射,一个url地址对应一个组件,当url地址A变为url地址B,那么对应地址A的组件就会改变为对应地址B的组件.应用于spa,即:单页应用,url地址改变,它不会跳转页 ...