Python numpy random randint函数用法解析

386 阅读5分钟

Python numpy random randint函数返回或生成从开始(低)到结束(高)的随机整数值。Python numpy random randint函数的语法是

numpy.random.randint(low, high = None, size = None, dtype = int)

  • low。从分布中抽取的最低的整数。如果高位数不是None,则作为起始值,高位数是None,则作为最高数。
  • high:是可选的,这是从分布中抽取的最高整数。
  • size。它可以是一个整数或整数的元组。这里,我们必须指定数组的大小或维度。例如,size = (2, 3) 用整数填充两行三列的数组。
  • dtype。输出的数据类型。

Python numpy random randint 示例

Python numpy random randint函数返回low(包括)和high(排除)之间的离散均匀分布的整数。如果我们不指定大小,那么它返回一个单一的数字。下面的例子打印了0到3之间的数字。

import numpy as tg

Arr = tg.random.randint(3)

print(Arr)
1

Python Numpy random randint 1D Arrays

在这个例子中,我们用low和size参数来返回一维随机整数数组。这意味着在没有高参数的情况下,低值成为高值。在这里,(3, size = 5)返回一个数值小于3的五项数组。接下来,(7, size = 10)返回一个数值小于7的十个数组。

import numpy as tg

a = tg.random.randint(3, size = 5)

print(a)

b = tg.random.randint(7, size = 10)

print(b)

    [1 0 2 2 2]
    [6 0 0 4 2 5 1 1 5 2]

在这个例子中,我们分配了低值和高值。这意味着第一条语句返回3到10之间的八个随机数的数组。

import numpy as tg

c = tg.random.randint(3, 10, size = 8)

print(c)

d = tg.random.randint(10, 50, size = 10)

print(d)
[7 8 6 9 5 8 4 5]
[38 14 25 23 17 26 37 12 47 20]

Python numpy random randint 2D数组

在这个例子中,前两个randint语句打印了具有默认下限和给定高限的二维数组。另外两个语句返回一个从给定的低值到高值的二维随机数组。例如,(20, 90, size = (3, 6))返回一个3*6的20和90之间的整数矩阵。

import numpy as tg

randintArr1 = tg.random.randint(5, size = (2, 3))
print(randintArr1)

randintArr2 = tg.random.randint(12, size = (4, 6))
print(randintArr2)

randintArr3 = tg.random.randint(20, 90, size = (3, 6))
print(randintArr3)

randintArr4 = tg.random.randint(9, 49, size = (5, 7))
print(randintArr4)

Python numpy random randint 1

randint三维数组

它将使用Python numpy随机randint生成三维数组。

if(typeof ez_ad_units!='undefined'){ez_ad_units.push([728,90],'tutorialgateway_org-medrectangle-3','ezslot_7',320,'0','0']};if(typeof __ez_fad_position!='undefined'){__ez_fad_position('div-pt-ad-tutorialgateway_org-medrectangle-3-0')}。

import numpy as tg

a = tg.random.randint(8, size = (2, 2, 3))
print(a)

b = tg.random.randint(22, size = (2, 3, 5))
print(b)

c = tg.random.randint(129, 430, size = (3, 3, 5))
print(c)

d = tg.random.randint(111, 149, size = (2, 4, 7))
print(d)
[[[3 5 0]
  [7 4 4]]

 [[6 6 6]
  [2 5 7]]]
[[[14  2  0  1 12]
  [11 20 17 17 19]
  [14 18  4  4 17]]

 [[ 0 19  8  6  0]
  [ 4  7  2 11 17]
  [18  3 18 12  6]]]
[[[142 178 428 360 192]
  [327 232 198 309 175]
  [272 181 370 223 380]]

 [[360 402 282 377 213]
  [164 250 146 212 243]
  [151 255 406 184 172]]

 [[153 360 324 285 200]
  [359 220 298 214 411]
  [245 409 228 400 282]]]
[[[137 145 144 133 135 114 141]
  [126 144 147 141 115 134 133]
  [131 121 115 122 130 146 124]
  [148 120 131 120 125 136 136]]

 [[131 129 141 129 116 132 126]
  [145 124 120 139 141 139 123]
  [140 148 145 119 113 134 116]
  [111 126 135 122 144 137 114]]]

带所有参数的randint

import numpy as tg

e = tg.random.randint(5, high = 20, size = (2, 3), dtype = tg.int16)
print(e)

f = tg.random.randint(99, 159, size = (2, 3, 5), dtype = tg.int16)
print(f)
[[ 6  9 10]
 [19  5 18]]
[[[139 149 101 148 150]
  [153 147 158 106 126]
  [152 112 102 134 150]]

 [[138 130 108 153 133]
  [106 107 136 119 124]
  [125 110 142 103 118]]]

这个函数也允许使用多个值作为低级和高级分布值。这里,([1, 3, 9], 22)返回一个在1和22,3和22,9和22之间的随机值。接下来,(7,[22,44,99])返回7和22、7和44、7和99之间的随机值。

import numpy as tg

g = tg.random.randint(\[1, 3, 9\], 22)
print(g)

h = tg.random.randint(\[11, 3, 99, 9\], 122)
print(h)

i = tg.random.randint(7, \[22, 44, 99\])
print(i)

j = tg.random.randint(99, \[122, 233, 999, 333, 194\])
print(j)
[14 11 21]
[ 89 113 100  38]
[11 14 62]
[120 156 937 260 125]

除此以外,我们还可以使用嵌套值来创建一个介于低值和高值之间的多维整数阵列。

import numpy as tg

k = tg.random.randint(\[4, 3, 7\], \[\[10\], \[20\]\])
print(k)

print("====Second ====")
l = tg.random.randint(\[99, 3, 99, 9\], \[\[189\], \[222\]\])
print(l)

print("====Third ====")
m = tg.random.randint(\[\[56\], \[75\]\], \[129, 264, 199\])
print(m)

print("====Fourth ====")
n = tg.random.randint(\[\[99\], \[122\], \[233\]\], \[999, 443, 394\])
print(n)
[[ 8  7  9]
 [ 8 14 12]]
====Second ====
[[130  21 167  69]
 [189 155 201  56]]
====Third ====
[[ 93 230  70]
 [ 86 212 147]]
====Fourth ====
[[981 342 380]
 [903 176 325]
 [862 252 271]]