np.random.*

一 . np.random.rand(*dn)

给定一个shape,返回该shape的一个服从[0, 1)均匀分布的数组。

若是不给参数,就返回取自于[0 ,1)均匀分布的一个数值。

import numpy as np
print(np.random.rand(1, 2)) # 输出:[[0.06115588 0.03628276]]
print(np.random.rand()) # 输出:0.23635138617590068

二. np.random.randint(low, high=None, size=None, dtype='l')

若low,high均是一个整数,则返回一个shape=size的服从[low, high)离散均匀分布的数组;若不给high值,则返回的值在[0, 1)之间;若没给size值,则返回单个数值。

import numpy as np
print(np.random.randint(low=2))   # 输出:1
print(np.random.randint(low=3, size=2))  # 输出:[0 0]
print(np.random.randint(low=1, high=10, size=3))  # 输出:[6 6 5]
print(np.random.randint(low=1, high=10, size=(2, 3)))  # 输出:[[8 9 3] [7 8 6]]

三. np.random.randn(*dn)

返回给定shape的服从标准正态分布的一个数组;若是不给shape值,则返回一个取自标准正态分布的值。

import numpy as np
print(np.random.randn())  # 输出:-0.9847833653162511
print(np.random.randn(2, 1))  # 输出:[[ 0.48744532] [-0.34613323]]

四. np.random.rand_sample(size=None)

返回给定shape=size的取自[0.0, 1.0)连续均匀分布的一个数组;若没给size值,则返回单个float数值。

import numpy as np
print(np.random.random_sample())  # 输出:0.35547669396662784
print(np.random.random_sample(size=(1, 2)))  # 输出:[[0.27258449 0.16332564]]

五. np.random.uniform(low=0.0, high=1.0, size=None)

返回给定shape=size的取自于[low, high)均匀分布的一个数组;若是没给high值,则取值范围在[0, low)之间;若没给size值,则返回一个数值。

import numpy as np
print(np.random.uniform(low=0.0, high=1.0, size=None))  # 输出:0.5935727830713399
print(np.random.uniform(low=3))  # 输出:1.3777730740044312
print(np.random.uniform(low=1.0, high=10.0, size=3))  # 输出:[2.68387734 9.23915982 4.4058597 ]
print(np.random.uniform(low=1.0, high=10.0, size=(1, 2)))  # 输出:[[6.58332898 1.41826063]]

六. np.random.choice(a, size=None, replace=True, p=None)

a可以是一个一维类数组,也可以是一个整数,若是整数的话,可将其看作np.arange(a);该方法随机返回shape=size的取自于数组a的数组。

size若是一个正数,表示返回单个值,若是一个元组,则返回一个shape=size的数组。

replace若为True,相当于是可放回的抽样,允许数组a中的某一值可以重复被抽到;若为False,则反之。

p是一个shape同a的数组,表示抽取到a中每个数的概率。

需要注意的是:

1. a和p的shape要一致;

2. 若是replace=False,则size不能大于a的shape,即想要返回的数组中元素个不能超过a数组的元素个数。

import numpy as np
arr = [3, 2, 5, 9, -3]
p = [0.2, 0.1, 0.4, 0.1, 0.2]
print(np.random.choice(a=10))  # 输出:4
print(np.random.choice(a=arr)) # 输出:3
print(np.random.choice(a=arr, size=3, replace=False))  # 输出:[ 5  3 -3]
print(np.random.choice(a=arr, size=(3, 3), replace=True))  # 输出:[[3 3 5] [3 9 5] [2 2 2]]
print(np.random.choice(a=arr, size=3, replace=True, p=p))  # 输出:[ 9 -3  5]

七. np.random.permutation(x)

对所给数组进行随机排序;若是给的一个整数,则将其看作np.arange(x);若是所给为一个多维数组,则仅给第1维打乱排序。

import numpy as np
print(np.random.permutation(3))  # [1 0 2]
print(np.random.permutation([2, 4, 6, 8]))  # [4 6 8 2]
print(np.random.permutation(np.arange(6).reshape(2, 3)))  # [[3 4 5] [0 1 2]]

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值