python学习笔记-生成随机数
更多大数据分析、建模等内容请关注公众号《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学习笔记-生成随机数的更多相关文章
- Python学习笔记(随机数)
random模块的作用是产生随机数. import random num = random.randint(1,100) random.randint(a, b)可以生成一个a到b间的随机整数,包括a ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- Python 学习笔记(上)
Python 学习笔记(上) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(上) 基础知识 基本输入输出 模 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- 【Python学习笔记之二】浅谈Python的yield用法
在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
- Python学习笔记(六)
Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...
随机推荐
- ubuntu开机自启动服务
ubuntu下一个用来管理开机自启动服务的程序,今天在ss vps上安装时老是提示这个错误,百度后,下面的这个方法可行: vi /etc/apt/source.list 输入i,进入Insert模式 ...
- Bootstrap——面包屑导航(Breadcrumbs)
面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式. Bootstrap 中的面包屑导航(Breadcrumbs)是一个简单的带有 .breadcrumb 类的无序列表. <o ...
- php相关知识(一)
php是服务器端脚本语言.可以生成动态页面内容,可以对数据库中的数据库进行编辑. php变量以$符号开始,后面是变量名,变量名以字母或下划线开始,变量名不能包含空格,变量名区分大小写. php的数据类 ...
- JAVA继承中子父类的构造方法
首先,构造方法本身会有一个隐式的无参构造(默认): ①不写构造方法,类中的第一行代码事实上有一个默认的无参构造(系统会隐式为你写好) public class Student { private St ...
- 扛把子组20191121-3 Final阶段贡献分配规则
此作业的要求参见http://edu.cnblogs.com/campus/nenu/2019fall/homework/10063 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 刘信鹏 F ...
- 新闻实时分析系统-inux环境准备与设置
1.Linux系统常规设置 1)设置ip地址 项目视频里面直接使用界面修改ip比较方便,如果Linux没有安装操作界面,需要使用命令:vi /etc/sysconfig/network-scripts ...
- 在ensp上模拟企业网络场景并Access接口加入相应VLAN
模拟的企业网络大概描述: 公司内网是一个大的局域网,二层交换机S1放置在一楼,在一楼办公的部门有IT部和人事部:二层交换机S2放置在二楼,在二楼办公的部门有市场部和研发部.由于交换机组成的是广播网,交 ...
- Selenium+Java(二)Selenium打开IE浏览器
前言 已在Eclipse中配置完成Selenium的相关配置,不知道如何配置的可参考我的另一篇博文:https://www.cnblogs.com/yogouo/p/11946940.html 打开I ...
- python内置的进制转换方法
python进制转换方法总结表: ↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16)) 8进制 oct(in ...
- Java基础面试题及答案(五)
Java Web 64. jsp 和 servlet 有什么区别? jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器 ...