python np random choice,python numpy之np.random的随机数函数使用介绍

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]])

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,`np.random`模块提供了许多用于生成随机数函数。下面是一些常用的`np.random`函数及其用法示例: 1. `np.random.rand()`: 生成一个0到1之间的随机浮点数或一个由随机浮点数组成的数组。可以通过指定维度来生成多维数组。例如: ```python import numpy as np # 生成一个随机浮点数 random_num = np.random.rand() print(random_num) # 生成一个2x3的随机浮点数数组 random_array = np.random.rand(2, 3) print(random_array) ``` 2. `np.random.randint()`: 生成一个指定范围内的整数或一个由随机整数组成的数组。可以通过指定维度来生成多维数组。例如: ```python import numpy as np # 生成一个0到9之间的随机整数 random_num = np.random.randint(10) print(random_num) # 生成一个1到10之间的随机整数数组 random_array = np.random.randint(1, 11, size=(2, 3)) print(random_array) ``` 3. `np.random.choice()`: 从给定的一维数组中随机选择元素。可以指定选择的个数和是否允许重复选择。例如: ```python import numpy as np # 从给定数组中随机选择2个元素,允许重复选择 random_choice = np.random.choice([1, 2, 3, 4, 5], size=2, replace=True) print(random_choice) # 从给定数组中随机选择3个元素,不允许重复选择 random_choice = np.random.choice([1, 2, 3, 4, 5], size=3, replace=False) print(random_choice) ``` 这里仅介绍了一些常用的`np.random`函数,还有其他函数如`np.random.randn()`、`np.random.shuffle()`等,你可以根据具体需求查阅相关文档来使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值