Python的numpy库中rand(),randn(),randint(),random_integers()的使用

1.numpy.random.rand()

用法是:numpy.random.rand(d0,d1,…dn)

以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。

用法及实现

>>> np.random.rand(3,2)
array([[ 0.14022471,  0.96360618],  #random
       [ 0.37601032,  0.25528411],  #random
       [ 0.49313049,  0.94909878]]) #random
>>>np.random.rand(5)
array([ 0.26677034,  0.01680242,  0.5164905 ,  0.70920141,  0.30438513])

2.numpy.random.randn()

用法是:numpy.random.rand(d0,d1,…dn)

以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1)

若要获得一般正态分布则可用sigma * np.random.randn(…) + mu进行表示

用法及实现

>>> a = np.random.randn(2, 4)
>>> a
array([[-0.29188711,  0.76417681,  1.00922644,  0.34169581],
       [-0.3652463 , -0.9158214 ,  0.34467129, -0.31121017]])
>>> b = np.random.randn(2)
>>> b
array([ 0.37849173,  1.14298464])

3.numpy.random.randint()

用法是:numpy.random.randint(low,high=None,size=None,dtype)

生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)

用法及实现

high=None的情形

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

high≠None

d = np.random.randint(2,high=6,size=(2,4))
>>> d
array([[5, 2, 4, 2],
       [4, 3, 5, 4]])

4.numpy.random.random_integers()

用法是: numpy.random.random_integers(low,high=None,size=None)

生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]

用法及实现

high=None的情形

>>> np.random.random_integers(1, 6, 10)
array([4, 5, 2, 3, 4, 2, 5, 4, 5, 4])
>>> np.random.random_integers(6)
5>>> np.random.random_integers(6,size=(3,2))array([[1, 3],       [5, 6],       [3, 4]])

high≠None的情形

>>> c =  np.random.random_integers(6,high=8,size=(3,2))
>>> c
array([[7, 8],
       [7, 8],
       [8, 8]])

此外,若要将【a,b】区间分成N等分,也可以用此函数实现

a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)

5.numpy.random_sanmple()

用法是: numpy.random.random_sample(size=None)

以给定形状返回[0,1)之间的随机浮点数

用法及实现

>>> np.random.random_sample()
0.2982524530687424
>>> np.random.random_sample((5,))
array([ 0.47989216,  0.12580015,  0.99624494,  0.14867684,  0.56981553])
>>> np.random.random_sample((2,5))
array([[ 0.00659559,  0.45824325,  0.13738623,  0.60766919,  0.39234638],
       [ 0.6914948 ,  0.92461145,  0.43289058,  0.63093292,  0.06921928]])

其他函数,numpy.random.random() ;numpy.random.ranf()

numpy.random.sample()用法及实现都与它相同

6.numpy.random.choice()

用法是: numpy.random.choice(a,size=None,replace=True,p=None)

若a为数组,则从a中选取元素;若a为单个int类型数,则选取range(a)中的数

replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复

p为数组,里面存放选到每个数的可能性,即概率

用法及实现

>>>a =  np.random.choice(5, 3)
>>> a
array([4, 3, 1])
>>>b =  np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
>>> b
array([2, 3, 3], dtype=int64)
>>> c =  np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
>>> c
array([3, 2, 0])

原文地址:https://www.cnblogs.com/mlan/p/8179028.html

时间: 2024-11-07 16:42:36

Python的numpy库中rand(),randn(),randint(),random_integers()的使用的相关文章

numpy库中数组的数据类型

numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as np >>> arr1=np.array([1,2,3,4],dtype=np.float64) >>> arr2=np.array([1,2,3,4],dtype=np.int32) >>> arr1.dtype dtype('float64') >

Matlab rand randn randint

1.0matlab中rand函数是产生0到1的随机分布 2.0matlab中randn函数是产生标准正态分布 3.0randint是产生整数随机数,默认为0和1 1.0rand %%%%%%%%%%%rand%%%%%%%%%%%%%%%%     RAND   Uniformly distributed random numbers.    标准化分布的随机数     RAND(N) is an N-by-N matrix with random entries, chosen from a

python之numpy库

一.numpy概述 numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速.节省空间.numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 二.创建ndarray数组 ndarray:N维数组对象(矩阵),所有元素必须是相同类型. ndarray属性:ndim属性,表示维度个数:shape属性,表示各维度大小:dtype属性,表示数据类型. 创建ndarray数组函数: 三.指定ndarray数

Python 安装第三方库中常见问题总结

1.安装某个库时,例如 pip install tinify 出现Permission denied时,在安装命令的最前面添加sudo 例如: sudo pip install tinify 即可. 2.安装某个库时,例如sudo pip install click 出现  Read timed out时,把安装命令变为 sudo pip --default-timeout=100 install -U click 即可. 持续更新中.......... ====================

Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: # 从sklearn.preprocessing导入StandardScaler from sklearn.preprocessing import StandardScaler # 标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导 ss = Standard

python数据分析numpy库学习

import numpy as np def asum(a_list,b_list,n1=2,n2=3): a = np.array(a_list) b = np.array(b_list) c = pow(a,n1) + pow(b,n2) return c a_lst = [1,2,3,4] b_lst = [2,3,4,5] print(asum(a_lst,b_lst)) #np.array()生成数据对象ndarray a = np.array([[1,2,3,4],[1,2,3,4]

python——Numpy库

Numpy库 英文官方文档:https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html Numpy库中的数组对象:N维数组类型:ndarray 1)      ndarray的作用: a)      数组对象性可以去掉元素间运算所需的循环,使一维向量更像单个数据. b)     设置专门的数组对象,经过优化,可以提升这类应用的运算速度. 2)      ndarray是一个多维数组对象,有两部分组成: 实际的数据 和 描述这些数据

Python之Numpy详细教程

NumPy - 简介 NumPy 是一个 Python 包. 它代表 “Numeric Python”. 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用NumPy,开

numpy库使用总结

numpy study 0x01:n维数组对象ndaarray 存放同类型元素的多维数组 0x02:numpy数据类型 numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32,等等. 字定义结构化数据类型: import numpy as np student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')]) a = np.array([('a