使用numpy产生随机数

numpy中的random模块包含了很多方法可以用来产生随机数,这篇文章将对random中的一些常用方法做一个总结。

1、numpy.random.rand(d0, d1, ..., dn)

作用:产生一个给定形状的数组(其实应该是ndarray对象或者是一个单值),数组中的值服从[0, 1)之间的均匀分布
参数:d0, d, ..., dn : int,可选。如果没有参数则返回一个float型的随机数,该随机数服从[0, 1)之间的均匀分布。
返回值:ndarray对象或者一个float型的值
例子

# [0, 1)之间均匀分布的随机数,3行2列
a = np.random.rand(3, 2)
print(a)
# 不提供形状
b = np.random.rand()
print(b)

输出:

[[0.26054323 0.28184468]
 [0.7783674  0.71733674]
 [0.90302256 0.49303252]]
0.6022098740124009

2、numpy.random.uniform(low=0.0, high=1.0, size=None)

作用:返回一个在区间[low, high)中均匀分布的数组,size指定形状。
参数
low, high:float型或者float型的类数组对象。指定抽样区间为[low, high),low的默认值为0.0,hign的默认值为1.0
size:int型或int型元组。指定形状,如果不提供size,则返回一个服从该分布的随机数。
例子

# 在[1, 10)之间均匀抽样,数组形状为3行2列
a = np.random.uniform(1, 10, (3, 2))
print(a)
# 不提供size
b = np.random.uniform(1, 10)
print(b)

输出:

[[5.16545387 6.3769087 ]
 [9.98964899 7.88833885]
 [1.37173855 4.19855075]]
3.899250175275188

3、numpy.random.randn(d0, d1, ..., dn)

作用:返回一个指定形状的数组,数组中的值服从标准正态分布(均值为1,方差为0)。
参数:d0, d, ..., dn : int,可选。如果没有参数,则返回一个服从标准正太分布的float型随机数。
返回值:ndarray对象或者float
例子

# 3行2列
a = np.random.randn(3, 2)
print(a)
# 不提供形状
b = np.random.randn()
print(b)

输出:

[[-1.46605527  0.35434705]
 [ 0.43408199  0.02689309]
 [ 0.48041554  1.62665755]]
-0.6291254375915813

4、numpy.random.normal(loc=0.0, scale=1.0, size=None)

作用:返回一个由size指定形状的数组,数组中的值服从 \(\mu=loc, \sigma=scale\) 的正太分布
参数
loc : float型或者float型的类数组对象,指定均值 \(\mu\)
scale : float型或者float型的类数组对象,指定标准差 \(\sigma\)
size : int型或者int型的元组,指定了数组的形状。如果不提供size,且loc和scale为标量(不是类数组对象),则返回一个服从该分布的随机数。
输出:ndarray对象或者一个标量
例子

# 标准正太分布,3行2列
a = np.random.normal(0, 1, (3, 2))
print(a)
# 均值为1,标准差为3
b = np.random.normal(1, 3)
print(b)

输出:

[[ 0.34912031 -0.08757564]
 [-0.99753101  0.37441719]
 [ 2.68072286 -1.03663963]]
5.770831320998463

5、numpy.random.randint(low, high=None, size=None, dtype=‘l‘)

作用:返回一个在区间[low, high)中离散均匀抽样的数组,size指定形状,dtype指定数据类型。
参数
low, high:int型,指定抽样区间[low, high)
size:int型或int型的元组,指定形状
dypte:可选参数,指定数据类型,比如int,int64等,默认是np.int
返回值:如果指定了size,则返回一个int型的ndarray对象,否则返回一个服从该分布的int型随机数。
例子

# 在[1, 10)之间离散均匀抽样,数组形状为3行2列
a = np.random.randint(1, 10, (3, 2))
print(a)
# 不提供size
b = np.random.randint(1, 10)
print(b)
# 指定dtype
c = np.random.randint(1, 10, dtype=np.int64)
print(c)
type(c)

输出:

[[3 1]
 [3 3]
 [5 8]]
6
2
numpy.int64

6、numpy.random.random(size=None)

作用:返回从[0, 1)之间均匀抽样的数组,size指定形状。
参数
size:int型或int型的元组,如果不提供则返回一个服从该分布的随机数
返回值:float型或者float型的ndarray对象
例子

# [0, 1)之间的均匀抽样,3行2列
a = np.random.random((3, 2))
print(a)
# 不指定size
b = np.random.random()
print(b)

输出:

[[0.80136714 0.63129059]
 [0.04556679 0.04433006]
 [0.09643599 0.53312761]]
0.32828505898057136

使用numpy产生随机数的更多方法可以参考官方文档

原文地址:https://www.cnblogs.com/sench/p/9683905.html

时间: 2024-10-10 10:32:32

使用numpy产生随机数的相关文章

基于numpy的随机数构造

class numpy.random.RandomState(seed=None) RandomState 是一个基于Mersenne Twister算法的伪随机数生成类 RandomState 包含很多生成 概率分布的伪随机数 的方法. 如果指定seed值,那么每次生成的随机数都是一样的.即对于某一个伪随机数发生器,只要该种子相同,产生的随机数序列就是相同的. numpy.random.RandomState.rand(d0, d1, ..., dn) Random values in a g

[python]-数据科学库Numpy学习

一.Numpy简介: Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间.此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似.但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算. NumPy提供了两种基本的对象:nda

【转载】python 模块 - random生成随机数模块

http://blog.csdn.net/pipisorry/article/details/39086463 随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1) 这样random.randint(0,6, (4,5))每次都产生一样的4*5的随机矩阵 关于种子的介绍可参见[Java - 常用函数Random函数] Python标准库random模块 (生成随机数模块) random.random() r

数据分析与展示——NumPy数据存取与函数

NumPy库入门 NumPy数据存取和函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值)是一种常见的文件格式,用来存储批量数据. np.savetxt(frame,array,fmt='%.18e',delimiter=None) frame:文件.字符串或产生器,可以是.gz或.bz2的压缩文件. array:存入文件的数组. fmt:写入文件的格式,例如:%d %.2f %.18e. delimiter:分割字符串,默认是任何空格. 范例

数据分析与展示---Numpy数据存取与函数

简介 一:数据的CSV文件存取(一维或二维) (一)写入文件savetxt (二)读取文件loadtxt 二:多维数据的存取 (一)保存文件tofile (二)读取文件fromfile (三)NumPy 的便捷文件存取save/savez或load 三:NumPy的随机数函数(random模块) rand()均匀分布 randn()标准状态分布 randint()整数数组 seed()随机数种子 shuffle()根据数组第一轴产生一个新的乱序数组(在原数组基础) permutation()同上

Numpy (嵩老师.)

import numpy as np Numpy 一元函数 对ndarray中的数据执行元素级运算的函数 np.abs(x) np.fabs(x) 计算数组各元素的绝对值 np.sqrt(x) 计算数组各元素的平方根 np.square(x) 计算数组各元素的的平方 np.log(x) np.log10(x) np.log2(x) 计算数组各元素的自然对数,10底对数和2底对数 np.ceil(x) np.floor(r) 计算数组各元素的ceiling值或floor值 np.rint(x) 计

《Python数据科学手册》第二章 Numpy入门2.1—2.3

 2.1 理解Python中的数据类型 Python的用户被其易用性所吸引,其中一个易用之处就在于动态输入,即在Python中,类型是动态推断的.这意味着可以将任何类型的数据指定给任何变量.但是这种类型灵活性也指出了一个事实: Python 变量不仅是它们的值,还包括了关于值的类型的一些额外信息 . C语言整型本质上是对应某个内存位置的标签,里面存储的字节会编码成整型.而Python的整型其实是一个指针,只向包含这个Python对象所有信息的某个内存位置,其中包括可以转换成整型的字节.Pytho

Python数据分析与展示(1)-数据分析之表示(1)-NumPy数据存取与函数

NumPy数据存取与函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据. 将数据写入CSV文件 np.savetxt(frame, array, fmt='%.18e', delimiter=None) -frame: 文件.字符串或产生器,可以是.gz或.bz2的压缩文件 -array: 存入文件的数组 -fmt: 写入文件的格式,例如:%d %.2f %.18e -delimiter:分割字符

11-2 numpy/pandas/matplotlib模块

目录 numpy模块 一维数组 二维数组 列表list和numpy的区别 获取多维数组的行和列 多维数组的索引 高级功能 多维数组的合并 通过函数方法创建多维数组 矩阵的运算 求最大值最小值 numpy生成随机数 pandas模块 pandas模块有什么用 Series(了解) DataFrame(掌握) 处理缺失值 合并数据 matplotlib模块 matplotlib模块有什么用? numpy模块 numpy模块导入时,注意需要设置别名为 np 一维数组 只有一行,相当于一条线 # 生成一