numpy.random模块常用函数解析
numpy.random模块中常用函数解析
1. numpy.random.rand(d0, d1, ..., dn)
Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1)
按照给定形状产生一个多维数组,每个元素在0到1之间
注意: 这里定义数组形状时,不能采用tuple
import numpy as np
np.random.rand(2, 3)
array([[ 0.44590044, 0.36234046, 0.51609462],
[ 0.45733218, 0.80836224, 0.31628453]])
2. numpy.random.randn(d0, d1, ..., dn)
generates an array of shape (d0, d1, ..., dn), filled with random floats sampled from a univariate “normal” distribution of mean 0 and variance 1
按照给定形状产生一个多维数组,数组中的元素服从标准正态分布
若要产生服从N(mu, sigma^2)分布的样本, 使用sigma * np.random.randn(...) + mu
例如产生 2 * 4 samples from N(3, 6.25):
2.5 * np.random.randn(2, 4) + 3
array([[ 2.90478558, 6.05670578, 6.21539068, 3.3955507 ],
[ 0.11594363, 3.17433693, 5.35625762, 1.4824643 ]])
3. numpy.random.randint(low, high=None, size=None, dtype='l')
Return random integers from low (inclusive) to high (exclusive).
按照给定的形状和范围产生随机整数
np.random.randint(0, 10, size=(2, 4))
array([[2, 7, 2, 1],
[3, 2, 4, 1]])
4. numpy.random.random_integers(low, high=None, size=None)
Random integers of type np.int between low and high, inclusive.
np.random.random_integers(1, 10, size=(2, 5))
array([[ 3, 3, 8, 4, 5],
[ 2, 7, 8, 10, 2]])
5. numpy.random.random_sample(size=None)
6. numpy.random.random(size=None)
7. numpy.random.ranf(size=None)
8. numpy.random.sample(size=None)
Return random floats in the half-open interval [0.0, 1.0).
以上四种方式都是生成[0,1)之间的浮点数
To sample Unif[a, b), b > a multiply the output of random_sample by (b-a) and add a:
(b - a) * random_sample() + a
import numpy as np
print('random_sample:\n', np.random.random_sample((2, 3)))
print('random:\n', np.random.random((2, 3)))
print('ranf:\n', np.random.ranf((2, 3)))
print('sample:\n', np.random.sample((2, 3)))
random_sample:
[[ 0.87996593 0.2706701 0.42158973]
[ 0.91952234 0.99470239 0.07363656]]
random:
[[ 0.44572326 0.23595379 0.1061901 ]
[ 0.48362249 0.4270327 0.12281262]]
ranf:
[[ 0.07180002 0.25542854 0.55630057]
[ 0.38181471 0.91512916 0.04020929]]
sample:
[[ 0.80390231 0.0024602 0.95974309]
[ 0.32902852 0.62796713 0.42254831]]
9. numpy.random.choice(a, size = None, replace=True, p=None)
从给定的一维数组中生成随机数
如a是一个int数, 则产生的数组的元素都在np.arange(a)中
如a是一个1-D array-like, 则产生的数组的元素都在a中
print('1:\n', np.random.choice(5))
print('2:\n', np.random.choice(5, 2, p=[0.1, 0.4, 0.3, 0.1, 0.1]))
print('3:\n', np.random.choice(5, (2, 3)))
print('4:\n', np.random.choice([1, 3, 4, 6], (2, 5), p=[0.1, 0.3, 0.1, 0.5]))
1:
4
2:
[1 4]
3:
[[2 1 4]
[0 2 3]]
4:
[[3 6 1 6 1]
[3 3 3 3 1]]
10. numpy.random.seed(None)
设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
np.random.seed(2)
np.random.rand(2, 3)
array([[ 0.4359949 , 0.02592623, 0.54966248],
[ 0.43532239, 0.4203678 , 0.33033482]])
np.random.seed(2)
np.random.rand(2, 3)
array([[ 0.4359949 , 0.02592623, 0.54966248],
[ 0.43532239, 0.4203678 , 0.33033482]])
np.random.rand(2, 3)
array([[ 0.20464863, 0.61927097, 0.29965467],
[ 0.26682728, 0.62113383, 0.52914209]])
numpy.random模块常用函数解析的更多相关文章
- python重要的第三方库pandas模块常用函数解析之DataFrame
pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...
- pandas模块常用函数解析之Series(详解)
pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...
- random模块常用函数
random模块常用函数: from random import * # Random float: 0.0 <= x < 1.0 random() # Random float: 2.5 ...
- numpy.random之常用函数
在实际开发中,我们经常会使用随机函数,比如交叉验证,构造测试数据等.下面,是我常用的几个生成随机样本的函数: 1,rand(n1,n2,…,nn) 每一维度都是[0.0,1.0)半闭半开区间上的随机分 ...
- numpy模块常用函数解析
https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...
- 操作 numpy 数组的常用函数
操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...
- AR模块常用函数
--AR模块常用函数 FUNCTION get_fnd_user_name ( p_user_id IN NUMBER ) return VARCHAR2 IS CURSOR c_user_name ...
- $python正则表达式系列(2)——re模块常用函数
本文主要介绍正则re模块的常用函数. 1. 编译正则 import re p = re.compile(r'ab*') print '[Output]' print type(p) print p p ...
- numpy.random模块用法小结
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9751471.html 1.np.random.random()函数参数 np.random.r ...
随机推荐
- java连接Oracle案例
首先来讲一下桥连接: 首先配置数据源:打开控制面板——管理工具——数据源(ODBC)——用户DSN——添加——找到Oracle驱动程序. //JDBC-ODBC桥连接public class Conn ...
- 【Dairy】2016.10.23 观火&中彩记
...................... 就第一条可以! 观火10分钟,长郡附近老房子起火...
- [Codeforces 623A] Graph and String
[题目链接] http://codeforces.com/contest/623/problem/A [算法] 首先 , 所有与其他节点都有连边的节点需标号为'b' 然后 , 我们任选一个节点 , 将 ...
- 洛谷 P2038 无线网络发射器选址 —— 二维树状数组
题目:https://www.luogu.org/problemnew/show/P2038 大水题暴露出我的愚蠢. 用二维树状数组,然而居然忘了它应该那样写,调了一个小时: 正方形可以超出外面,只要 ...
- SVN工具使用技巧
SVN打tag SVN打tag是一个很常用的功能,要谈打tag,还得从SVN官方推荐的目录结构说起.SVN官方推荐在一个版本库的根目录下先建立trunk.branches.tags这三个文件夹,其中t ...
- win7 32位解决matlab out of memory问题
由于最近在做DL,matlab load数据时由于内存只有2G,会出现out of memory的情况,网上百度了下都是在xp下打开3GB来解决该问题,但是由于win7没有boot.ini无法在win ...
- C#实现的鼠标钩子
http://www.oschina.net/code/snippet_104607_45975 使用 Socket 获得网页内容,可以捕获错误页的内容 HttpClient http://www.o ...
- java运行jdk连接mysql出现了:Establishing SSL connection without server's identity verification is not recommended
注意:出现这类提示也不会影响对数据库的增删改查操作,所以不用紧张.. 在运行练习时出现下面的错误信息提示: Establishing SSL connection without server's i ...
- GitHub中有关已建仓库及上传项目文件的删除
上传了项目,竟然发现找不到删除的地方,真是囧... 1. 已建仓库的删除 点击 settings,进入以下界面,点击箭头指向的按钮 进入以下界面 2. 某个文件的删除 直接点开文件,在右上角有个删除工 ...
- bzoj 1050: [HAOI2006]旅行comf【枚举+并查集】
m是5000,就想到了直接枚举比例 具体做法是是先把边按照边权从小到大排序,然后先枚举最小边权,再枚举最大边权,就是从最小边权里一个一个加进并查集里,每次查st是否联通,联通则退出,更新答案 #inc ...