numpy.random.randint#
- random.randint(low, high=None, size=None, dtype=int)#
傳回從 low(包含)到 high(不包含)的隨機整數。
從指定 dtype 的「離散均勻」分佈,在「半開」區間 [low, high) 中傳回隨機整數。如果 high 為 None(預設值),則結果來自 [0, low)。
- 參數:
- lowint 或整數的類陣列
從分佈中抽取的最低(signed)整數(除非
high=None
,在這種情況下,此參數是高於最高整數的值)。- highint 或整數的類陣列,選填
如果提供,則為從分佈中抽取的最大(signed)整數之上的一個值(如果
high=None
,請參閱上面的行為)。如果為類陣列,則必須包含整數值- sizeint 或整數元組,選填
輸出形狀。如果給定的形狀為
(m, n, k)
,則會抽取m * n * k
個樣本。預設值為 None,在這種情況下,會傳回單一值。- dtypedtype,選填
結果的所需 dtype。位元組順序必須為原生。預設值為 long。
警告
此函數預設為 C-long dtype,在 Windows 上為 32 位元,在 64 位元平台上則為 64 位元(在 32 位元平台上則為 32 位元)。自 NumPy 2.0 起,NumPy 的預設整數在 32 位元平台上為 32 位元,在 64 位元平台上為 64 位元。這對應於 np.intp。(dtype=int 與大多數 NumPy 函數中的含義不同。)
- 傳回值:
另請參閱
random_integers
類似於
randint
,僅適用於閉區間 [low, high],如果省略 high,則 1 為最小值。random.Generator.integers
新程式碼應使用此方法。
範例
>>> np.random.randint(2, size=10) array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0]) # random >>> np.random.randint(1, size=10) array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
產生一個 2 x 4 的整數陣列,介於 0 到 4 之間(包含)。
>>> np.random.randint(5, size=(2, 4)) array([[4, 0, 2, 1], # random [3, 2, 2, 0]])
產生一個 1 x 3 的陣列,具有 3 個不同的上限。
>>> np.random.randint(1, [3, 5, 10]) array([2, 2, 9]) # random
產生一個 1 x 3 的陣列,具有 3 個不同的下限。
>>> np.random.randint([1, 5, 7], 10) array([9, 8, 7]) # random
使用廣播和 uint8 的 dtype 產生一個 2 x 4 的陣列。
>>> np.random.randint([1, 3, 5, 7], [[10], [20]], dtype=np.uint8) array([[ 8, 6, 9, 7], # random [ 1, 16, 9, 12]], dtype=uint8)