numpy.random.rand

  numpy.random模块作用是生成随机数,其中numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组。下面是实例:

import numpy as np

# 生成生成[0,1)之间随机浮点数
np.random.rand() # 生成一个15个[0,1)之间随机浮点数的3行5列的数组,
np.random.rand(3, 5) # 一个参数,生成: array([ 0.3228230931])
np.random.rand(1) # 生成一个元素个数为5个的一维数组
np.random.rand(5) # 报错,参数必须是整数,不能是元组
np.random.rand((2,3))

numpy.random.randn

  numpy.random.randn(d0, d1, ..., dn):生成一个浮点数或N维浮点数组,取数范围:正态分布的随机样本数。实例:

import numpy as np

# 无参,不一定是[0,1)之间的随机数
np.random.randn() # 一个参数,生成一个元素个数为参数值的数组
np.random.randn(1)
np.random.randn(5) # 两个参数,生成对应的行列数 数组
np.random.randn(2,3) # 报错,行列数必须为整数
np.random.randn((2,3))

numpy.random.standard_normal

  numpy.random.standard_normal(size=None):生产一个浮点数或N维浮点数组,取数范围:标准正态分布随机样本。实例:

import numpy as np

# size为整数,array([-0.33786118, -0.98289355])
np.random.standard_normal(2) # size为整数序列
np.random.standard_normal((2,3))
"""
array([[ 0.67665901, -0.9247266 , 1.52534072],
[-1.6140679 , 0.4291286 , -0.26712738]])
""" np.random.standard_normal([2,3]).shape
"""(2, 3)"""

numpy.random.randint

  numpy.random.randint(low, high=None, size=None, dtype='l'):生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。实例如下:

import numpy as np

# low=2,生成一个[0,2)之间随机整数
np.random.randint(2) # low=2,size=5,生成一个元素取值范围为[0, 2),个数为5的数组
np.random.randint(2,size=5)
"""
array([1, 1, 0, 1, 1])
""" #low=2, high=2,报错,high必须大于low
np.random.randint(2, 2) #low=2, high=6, 生成一个[2,6)之间随机整数
np.random.randint(2, 6) # low=2, high=6, size=5,生成形状为5的一维整数数组
np.random.randint(2,6, size=5) # size为整数元组,生成一个2x3整数数组,取数范围:[0,2)随机整数
np.random.randint(2, size=(2,3)) #生成一个2x3整数数组,取值范围:[2,6)随机整数
np.random.randint(2,6,(2,3)) #dtype参数:只能是int类型
np.random.randint(2, dtype='int32')
np.random.randint(2, dtype=np.int32)

numpy.random.random_integers

  numpy.random.random_integers(low, high=None, size=None):生成一个整数或一个N维整数数组,取值范围:若high不为None,则取[low,high]之间随机整数,否则取[1,low]之间随机整数。实例如下:

import numpy as np

# low=2,生成一个[1,2]之间随机整数
np.random.random_integers(2) # low=2, size=5
np.random.random_integers(2, size=5)
"""
array([2, 2, 1, 1, 1])
"""
# low=2, high=6, 生成一个[2,6]之间随机整数
np.random.random_integers(2,6) # low=2, high=6, size=5, 生成一个形状为5的一维整数数组组
np.random.random_integers(2, 6, size=5) # size为整数元组, 生成一个2x3数组,取数范围:[1,2]随机整数
np.random.random_integers(2, size=(2,3)) # 生成一个2x3数组,取数范围:[2,6]随机整数
np.random.random_integers(2,6,(2,3))

numpy.random.random_sample

  numpy.random.random_sample(size=None):生成一个[0,1)之间随机浮点数或N维浮点数组。实例如下:

import numpy as np

# size=None, 生成一个[0,1)之间随机浮点数
np.random.random_sample() # size=2, 生成shape=2的一维数组
np.random.random_sample(2)
"""
array([0.35763819, 0.49589886])
""" #size为整数元组
np.random.random_sample((2,))
"""
array([0.06049863, 0.19161771])
""" # 报错
np.random.random_sample((,2)) # 生成2x3数组
np.random.random_sample((2,3))
"""
array([[0.72670655, 0.51374895, 0.5426825 ],
[0.51285327, 0.65538792, 0.06208806]])
""" #生成3x2x2数组
np.random.random_sample((3,2,2))
"""
array([[[0.11479889, 0.781341 ],
[0.64208068, 0.37144925]],
[[0.50598271, 0.22323444],
[0.30075225, 0.72141338]],
[[0.65324698, 0.11543862],
[0.45112802, 0.94799923]]])
"""

numpy.random.choice

  numpy.random.choice(a, size=None, replace=True, p=None):从序列中获取元素,若a为整数,元素取值为np.range(a)中随机数;若a为数组,取值为a数组元素中随机元素。实例如下:‘

import numpy as np
#a为整数,size为None,生成一个range(2)中的随机数 :0\1
np.random.choice(2) #a为整数,size为整数, 生成一个shape=2的一维数组
np.random.choice(2,2)
"""
array([1, 0])
""" #a为整数,size为整数元组, 生成一个2x3数组,取之范围在[0, 5)
np.random.choice(5,(2,3))
"""
array([[2, 3, 4],
[4, 0, 3]])
""" #a为数组,size为None, 生成一个np.array(['a','b','c','f']中随机元素
np.random.choice(np.array(['a','b','c','f'])) #a为数组,size为整数元组
np.random.choice(np.array(['a','b','c','f']),(2,3))#生成2x3数组
"""
array([['a', 'f', 'f'],
['a', 'a', 'a']], dtype='<U1')
""" #p参数:可以理解成a中元素出现的概率,p的长度和a的长度必须相同,且p中元素之和为1,否则报错
#np.random.choice(2,p=[1]) #报错,a和p长度不一致
np.random.choice(5,p=[0,0,0,0,1]) #生成的始终是4
np.random.choice(5,3,p=[0,0.5,0.5,0,0]) #生成shape=3的一维数组,元素取值为1或2的随机数

numpy.random.shuffle

  numpy.random.shuffle(x):对X进行重排序,如果X为多维数组,只沿第一条轴洗牌,输出为None。实例如下:

import numpy as np

list = [1,2,3,4,5]

#输出None
np.random.shuffle(list)
#原序列的顺序被修改
list1
"""
[3, 1, 5, 4, 2]
""" #对于多维数组,只沿着第一条轴打乱顺序
arr = np.arange(9).reshape(3,3)
arr
"""
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
"""
np.random.shuffle(arr)
arr
"""
array([[3, 4, 5],
[0, 1, 2],
[6, 7, 8]])
"""

numpy.random.permutation

  numpy.random.permutation(x):与numpy.random.shuffle(x)函数功能相同,两者区别:peumutation(x)不会修改X的顺序。实例如下:

import numpy as np

# x=5, 生成一个range(5)随机顺序的数组
np.random.permutation(5) # x为列表或元组
list = [1,2,3,4]
np.random.permutation(list)
"""
array([3, 1, 4, 2])
""" list
"""
[1, 2, 3, 4]
""" # x为数组
arr = np.arange(9)
arr
"""
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
""" np.random.permutation(arr)
"""
array([8, 1, 4, 2, 0, 5, 7, 6, 3])
""" arr2 = np.arange(9).reshape(3,3)
arr2
"""
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
""" # 对于多维数组,只会沿着第一条轴打乱顺序
np.random.permutation(arr2)
"""
array([[0, 1, 2],
[6, 7, 8],
[3, 4, 5]])
"""

  参考资料来自:

https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rand.html#numpy.random.rand

https://blog.csdn.net/kancy110/article/details/69665164

Python学习——numpy.random的更多相关文章

  1. python学习之random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  2. python基础--numpy.random

    # *_*coding:utf-8 *_* # athor:auto import numpy.random #rand(d0, d1, ..., dn)n维随机值 data0 = numpy.ran ...

  3. python学习笔记----random

    import random import string # 随机整数: print random.randint(1,50) >>> print(random.randint(1,5 ...

  4. python学习之-- random模块

    random模块random.random():随机打印一个小数random.randint(1,10):随机打印1-10之间的任意数字(包括1和10)random.randrange(1,10):随 ...

  5. python学习-47 random模块

    random模块 随机模块 random 的方法: print(random.random()) # [0,1] 的浮点数 print(random.randint(1,3)) print(rando ...

  6. Python中numpy.random.randn()与rand(),numpy.zeros、ones、eye

    转自:https://blog.csdn.net/u010758410/article/details/71799142

  7. [Python] numpy.random.rand

    numpy.random.rand numpy.random.rand(d0, d1, ..., dn) Random values in a given shape. Create an array ...

  8. python学习笔记(三):numpy基础

    Counter函数可以对列表中数据进行统计每一个有多少种 most_common(10)可以提取前十位 from collections import Counter a = ['q','q','w' ...

  9. Python学习第二阶段Day2,模块time/datetime、random、os、sys、shutil

    1.Time.  Datetime(常用) UTC时间:为世界标准时间,时区为0的时间 北京时间,UTC+8东八区 import time print(time.time()) # timestamp ...

随机推荐

  1. tomcat内存配置

    -Xms521M-Xmx1024M-XX:PermSize=64M -Xms256m -Xmx1024m -XX:MaxPermSize=256m

  2. 如何自动更新SVN项目

    在桌面新建“SVN Update.bat”文件,把下面的命令复制到该文件中,保存并退出,然后使用windows的“任务计划”功能,就可以实现定时自动更新SVN目录. 按此批处理文件的方法执行,一次可自 ...

  3. 实现一个类似bootstrap的多级下拉菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. POJ 1410 Intersection 数据错误

    题目要求判断一条线段和一个矩形是否相交,或者是否在矩形里面(题目好像没说?) 思路就是直接暴力判断和矩形四条边是否相交,和线段的坐标是否在矩形的坐标范围即可. 然后题目的数据,(xleft,ytop) ...

  5. 如何设计企业移动应用 by宋凯

    移动应用设计内部培训 by宋凯 企业移动应用的特点:简约.效率.增强ERP与环境的结合.及时.安全.企业内社交. 一句话定义你的移动应用:然后围绕这句话来设计你的APP. 一:如何定义你的应用: 1, ...

  6. superset 配置连接 hbase

    1. 简单说明 最近配置superset查询hbase, 根据网上查询到的文档和经验,成功了一次(python3.4  superset 0.20.),后边重试换各种版本就不行了.最后根据错误终于发现 ...

  7. strstr strcpy 函数的实现

    一. strcpy 代码实现 #include <iostream> #include <assert.h> #include <iostream> //#incl ...

  8. idea没有绑远程地址,如何提交到github的空项目

    一 有同事问我怎么提交到github的空项目....这么简单.... 二 1.创建本地的git仓库 选择自己的项目 创建成功 2.添加代码,选中左边的文件,add 3.提交 5.定义远程仓库,不定义的 ...

  9. 添加egit插件

    1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...

  10. Storm里面fieldsGrouping和Field的概念详解

    这个Field通常和fieldsGrouping分组机制一起使用,这个Field特别难理解,我自己也是在网上看了好多文章,感觉依旧讲的不是很清楚,是似而非,没有抓到重点.这个问题足足困扰了我3-4天时 ...