当前位置:首页 » Python程序 » python numpy之np.random的随机数函数应用介绍

python numpy之np.random的随机数函数应用介绍

512°c 2021年04月21日 07:57 Python程序 0条评论
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

np.random的随机数函数(1)

函数 说明
rand(d0,d1,..,dn) 根据d0‐dn创建随机数数组,浮点数, [0,1),均匀分布
randn(d0,d1,..,dn) 根据d0‐dn创建随机数数组,标准正态分布
randint(low[,high,shape]) 根据shape创建随机整数或整数数组,范围是[low, high)
seed(s) 随机数种子, s是给定的种子值

np.random.rand

import numpy as np

a = np.random.rand(3, 4, 5)

a
Out[3]: 
array([[[0.28576737, 0.96566496, 0.59411491, 0.47805199, 0.97454449],
    [0.15970049, 0.35184063, 0.66815684, 0.13571458, 0.41168113],
    [0.66737322, 0.91583297, 0.68033204, 0.49083857, 0.33549182],
    [0.52797439, 0.23526146, 0.39731129, 0.26576975, 0.26846021]],

    [[0.46860445, 0.84988491, 0.92614786, 0.76410349, 0.00283208],
    [0.88036955, 0.01402271, 0.59294569, 0.14080713, 0.72076521],
    [0.0537956 , 0.08118672, 0.59281986, 0.60544876, 0.77931621],
    [0.41678215, 0.24321042, 0.25167563, 0.94738625, 0.86642919]],

    [[0.36137271, 0.21672667, 0.85449629, 0.51065516, 0.16990425],
    [0.97507815, 0.78870518, 0.36101021, 0.56538782, 0.56392004],
    [0.93777677, 0.73199966, 0.97342172, 0.42147127, 0.73654324],
    [0.83139234, 0.00221262, 0.51822612, 0.60964223, 0.83029954]]])

np.random.randn

b = np.random.randn(3, 4, 5)

b
Out[5]: 
array([[[ 0.09170952, -0.36083675, -0.18189783, -0.52370155,
     -0.61183783],
    [ 1.05285606, -0.82944771, -0.93438396, 0.32229904,
     -0.85316565],
    [ 1.41103666, -0.32534111, -0.02202953, 1.02101228,
     1.59756695],
    [-0.33896372, 0.42234042, 0.14297587, -0.70335248,
     0.29436318]],

    [[ 0.73454216, 0.35412624, -1.76199508, 1.79502353,
     1.05694614],
    [-0.42403323, -0.36551581, 0.54033378, -0.04914723,
     1.15092556],
    [ 0.48814148, 1.09265266, 0.65504441, -1.04280834,
     0.70437122],
    [ 2.92946803, -1.73066859, -0.30184912, 1.04918753,
     -1.58460681]],

    [[ 1.24923498, -0.65467868, -1.30427044, 1.49415265,
     0.87520623],
    [-0.26425316, -0.89014489, 0.98409579, 1.13291179,
     -0.91343016],
    [-0.71570644, 0.81026219, -0.00906133, 0.90806035,
     -0.914998 ],
    [ 0.22115875, -0.81820313, 0.66359573, -0.1490853 ,
     0.75663096]]])

np.random.randint

c = np.random.randint(100, 200, (3, 4))

c
Out[9]: 
array([[104, 140, 161, 193],
    [134, 147, 126, 120],
    [117, 141, 162, 137]])

numpy.random.randint的详细用法 - python

函数的作用是,返回一个随机整型数,范围从低(包括)到高(不包括),即[low, high)。如果没有写参数high的值,则返回[0,low)的值。
numpy.random.randint(low, high=None, size=None, dtype='l')

参数如下:

参数 描述
low: int 生成的数值最低要大于等于low。
(hign = None时,生成的数值要在[0, low)区间内)
high: int (可选) 如果使用这个值,则生成的数值在[low, high)区间。
size: int or tuple of ints(可选) 输出随机数的尺寸,比如size=(m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
dtype: dtype(可选): 想要输出的格式。如int64、int等等

输出:

返回一个随机数或随机数数组

例子

>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
       [3, 2, 2, 0]])

>>>np.random.randint(2, high=10, size=(2,3))
array([[6, 8, 7],
       [2, 5, 2]])

np.random.seed
随机种子生成器,使下一次生成的随机数为由种子数决定的“特定”的随机数,如果seed中参数为空,则生成的随机数“完全”随机。参考和文档。

np.random.seed(10)

np.random.randint(100, 200, (3 ,4))
Out[11]: 
array([[109, 115, 164, 128],
    [189, 193, 129, 108],
    [173, 100, 140, 136]])

np.random.seed(10)

np.random.randint(100 ,200, (3, 4))
Out[13]: 
array([[109, 115, 164, 128],
    [189, 193, 129, 108],
    [173, 100, 140, 136]])

np.random的随机数函数(2)

函数 说明
shuffle(a) 根据数组a的第1轴(也就是最外层的维度)进行随排列,改变数组x
permutation(a) 根据数组a的第1轴产生一个新的乱序数组,不改变数组x
choice(a[,size,replace,p]) 从一维数组a中以概率p抽取元素,形成size形状新数组replace表示是否可以重用元素,默认为False

np.random.shuffle

a = np.random.randint(100, 200, (3, 4))

a
Out[15]: 
array([[116, 111, 154, 188],
    [162, 133, 172, 178],
    [149, 151, 154, 177]])

np.random.shuffle(a)

a
Out[17]: 
array([[116, 111, 154, 188],
    [149, 151, 154, 177],
    [162, 133, 172, 178]])

np.random.shuffle(a)

a
Out[19]: 
array([[162, 133, 172, 178],
    [116, 111, 154, 188],
    [149, 151, 154, 177]])

可以看到,a发生了变化,轴。

np.random.permutation

b = np.random.randint(100, 200, (3, 4))

b
Out[21]: 
array([[113, 192, 186, 130],
    [130, 189, 112, 165],
    [131, 157, 136, 127]])

np.random.permutation(b)
Out[22]: 
array([[113, 192, 186, 130],
    [130, 189, 112, 165],
    [131, 157, 136, 127]])

b
Out[24]: 
array([[113, 192, 186, 130],
    [130, 189, 112, 165],
    [131, 157, 136, 127]])

可以看到,b没有发生改变。

np.random.choice

c = np.random.randint(100, 200, (8,))

c
Out[26]: array([123, 194, 111, 128, 174, 188, 109, 115])

np.random.choice(c, (3, 2))
Out[27]: 
array([[111, 123],
    [109, 115],
    [123, 128]])#默认可以出现重复值

np.random.choice(c, (3, 2), replace=False)
Out[28]: 
array([[188, 111],
    [123, 115],
    [174, 128]])#不允许出现重复值

np.random.choice(c, (3, 2),p=c/np.sum(c))
Out[29]: 
array([[194, 188],
    [109, 111],
    [174, 109]])#指定每个值出现的概率

np.random的随机数函数(3)

函数 说明
uniform(low,high,size) 产生具有均匀分布的数组,low起始值,high结束值,size形状
normal(loc,scale,size) 产生具有正态分布的数组,loc均值,scale标准差,size形状
poisson(lam,size) 产生具有泊松分布的数组,lam随机事件发生率,size形状
u = np.random.uniform(0, 10, (3, 4))

u
Out[31]: 
array([[9.83020867, 4.67403279, 8.75744495, 2.96068699],
    [1.31291053, 8.42817933, 6.59036304, 5.95439605],
    [4.36353698, 3.56250327, 5.87130925, 1.49471337]])

n = np.random.normal(10, 5, (3, 4))

n
Out[33]: 
array([[ 8.17771928, 4.17423265, 3.28465058, 17.2669643 ],
    [10.00584724, 9.94039808, 13.57941572, 4.07115727],
    [ 6.81836048, 6.94593078, 3.40304302, 7.19135792]])

p = np.random.poisson(2.0, (3, 4))

p
Out[35]: 
array([[0, 2, 2, 1],
    [2, 0, 1, 3],
    [4, 2, 0, 3]])

数据分析师分析问题第一步,必须明确这是不是一个问题!!!

欢迎阅读本文,希望本文对您有所帮助!

本文链接:http://www.cqrxzs.com/3865.html

版权声明:本文为原创文章,版权归 雨凡教育 所有,欢迎分享本文,转载请保留出处!

百度推荐获取地址:http://tuijian.baidu.com/,百度推荐可能会有一些未知的问题,使用中有任何问题请直接联系百度官方客服!

评论(0) 赞助本站

发表评论:


【顶】 【踩】 【好】 【懵】 【赞】 【表情】

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

推荐阅读
04月21日

Python应用tkinter模块完成推箱子游戏

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 535次

前段时间用C语言做了个字符版的推箱子,着实是比较简陋。正好最近用到了Python,然后想着用Python做一个图形界面的推箱子。这回可没有C那么简单,首先Python的图形界面我是没怎么用过,在网上找了一大堆教材,最后选择了tkinter,没什么特别的原因,只是因为网上说的多。 接下来就来和大家分享一下,主要分享两点,第一就是这个程序的实现过程,第二点就是我在编写过程中的一些思考。 一、介绍 开发语言:Python 3.7 开发工具:PyCharm 2019.2.4 日期:2019年10月2...

04月20日

python内置函数sorted()用法深入分析

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 76次

文中案例叙述了python内置函数sorted()用法。共享给大伙儿供大伙儿参照,实际以下: 列表目标出示了sort()方式适用原地排序,而内置函数sorted()不兼容原地实际操作仅仅回到新的列表,并不对原列表开展一切改动。sorted()方式能够 对列表、元组、词典、range目标等开展排序。列表的sort()方式和内置函数sorted()都适用key主要参数完成繁杂排序规定。 #应用key来特定排序根据,先按名字降序排序,名字同样的按年纪降序排序 >>> person...

04月20日

python生成器推导式用法简易示例

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 78次

文中案例叙述了python生成器推导式用法。共享给大伙儿供大伙儿参照,实际以下: 1.生成器推导式是继列表推导式后的有一中python推导式,他比列表推导式速率更快,占有的运行内存也越来越少。 2.应用生成器目标时,能够 依据必须将他转换为目录或是元组,还可以是哟个生成器对像__next__()方式或内嵌涵数next()开展遍历,其具备可塑性求值的特性,开展一次遍历后便不可以再度方向內部原素,即浏览一次立刻清除生成器目标 >>> g = ((i 2)**2 for i in...

04月20日

Django完成文件网页上传

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 63次

文中案例为大伙儿共享了Django完成文件提交下载的实际编码,供大伙儿参照,主要内容以下 一、django完成文件下载 (1)、后台管理插口 假如从服务器立即将文件途径发送给电脑浏览器,一般文件能够 立即下载,而照片,html,css和pdf格式等文件会立即表明,因此解决方案便是在头文件中让文件流载入电脑硬盘. ①、非常简单的文件下载作用的完成,立即将文件流放进HttpResponse对象就可以 def file_download(request): # do something......

04月20日

应用go在mangodb中开展CRUD操作

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 66次

我还在学习培训go语言表达以前,在对数据库开展CRUD的操作基本上是用java和sql来对mysql数据库开展操作,可是到见习中公司业务全是用的是mangodb,根据一段学习时间后,我有了一些获得。 概述关系型数据库,非关系型数据库 关系型数据库:指选用了关系实体模型来机构数据信息的数据库。 关系实体模型指的便是二维表格实体模型,而一个关系型数据库便是由二维表以及中间的联络所构成的一个数据组织 非关系型数据库 非关系型数据库:指非关系型的,分布式系统的,且一般不确保遵照 ACID 标准的数据...

04月20日

ubuntu上安装python的实例方法

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 56次

怎样在ubuntu安装python? python在ubuntu下有几种安装方式: ● 根据ubuntu官方网的apt工具包安装 ● 根据PPA(Personal Package Archive) 的apt工具包安装 ● 根据编译程序python源码安装 根据ubuntu官方网的apt工具包安装 sudo apt-get install python2.7 sudo apt-get install python3.4 安装进行后,可以用下边的指令开展确定 [email protect...

04月20日

Python3 无反复字符的最多子串的完成

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 55次

题型: 给出一个字符串,你要找到在其中不带有反复字符的 最多子串 的长度。 示例: 示例 1: 键入: “abcabcbb” 输出: 3 表述: 由于无反复字符的最多子串是 “abc”,因此其长度为 3。 示例 2: 键入: “bbbbb” 输出: 1 表述: 由于无反复字符的最多子串是 “b”,因此其长度为 1。 示例 3: 键入: “pwwkew” 输出: 3 表述: 由于无反复字符的最多子串是 “wke”,因此其长度为 3。 一定要注意,你的答案务必是 子串 的长度,“pwke...

04月20日

Django完成文件上传和下载功能

发布 : | 分类 : Python程序 | 评论 : 0人 | 浏览 : 60次

文中案例为大伙儿共享了Django下进行文件提交和下载作用的实际编码,供大伙儿参照,具体内容以下 一、文件提交 Views.py def upload(request): if request.method == "POST": # 要求方式为POST时,开展解决 myFile = request.FILES.get("myfile", None) # 获得提交的文件,如果没有文件,则默认设置为None if not myFile: return HttpResponse("no f...

您好,欢迎到访网站!
  查看权限