Slumpmässiga Arrayer
Det är ofta så att vi behöver generera ett slumpmässigt tal eller en array av slumpmässiga tal. Lyckligtvis har NumPy en modul som heter random
specifikt för detta ändamål.
De två mest använda funktionerna i random
-modulen är:
rand()
;randint()
.
rand()
Funktionen numpy.random.rand()
används för att generera antingen ett slumpmässigt float
-tal eller en array av slumpmässiga floats från en uniform fördelning över [0, 1).
Notera
Kvadratiska parenteser [ eller ] i intervallnotation indikerar att värdet är inkluderat, medan parenteser ( eller ) indikerar att värdet är exkluderat. Till exempel, [0, 1) betyder att intervallet inkluderar 0 men inte 1. Blanda inte ihop denna matematiska notation med parenteser som används i kod — de har olika syften.
Dess enda möjliga argument är dimensionerna av arrayen. Om inget argument ges, genererar rand()
ett slumpmässigt float
-tal (skalär).
import numpy as np # Generating a random number random_number = np.random.rand() print(random_number) # Generating a random 1D array with 5 elements random_array = np.random.rand(5) print(random_array) # Generating a random 2D array (matrix) of shape 4x3 random_matrix = np.random.rand(4, 3) print(random_matrix)
Observera
Dimensionerna i
rand()
-funktionen bör anges som separata heltalsparametrar, inte som en tuppel av heltal. Till exempel,rand(4, 3)
är korrekt, medanrand((4, 3))
är felaktigt.
randint()
Funktionen numpy.random.randint
används för att generera antingen ett slumpmässigt heltal eller en array av slumpmässiga heltal från en
diskret likformig fördelning inom ett specificerat intervall.
Dess tre viktigaste parametrar är low
(den enda obligatoriska parametern), high
och size
. Intervallet är [low, high)
(från low
inklusive till high
exklusivt). Men om high
inte anges, är intervallet [0, low)
.
import numpy as np # Generating a random integer from 0 to 3 exclusive random_integer = np.random.randint(3) print(random_integer) # Generating a 1D array of random integers in [0, 5) with 4 elements random_int_array = np.random.randint(5, size=4) print(random_int_array) # Generating a 1D array of random integers in [2, 5) with 4 elements random_int_array_2 = np.random.randint(2, 5, size=4) print(random_int_array_2) # Generating a random 2D array of random integers in [1, 6) of shape 4x2 random_int_matrix = np.random.randint(1, 6, size=(4, 2)) print(random_int_matrix)
Notera
Till skillnad från
rand()
, specificerar vi dimensionerna för arrayen via en enda parametersize
, genom att ange antingen ett heltal eller en tupl av heltal.
Swipe to start coding
- Skapa en 1D-array av slumpmässiga flyttal från en enhetlig fördelning i [0, 1) med 4 element för
random_floats_array
. - Skapa en 2D-array av slumpmässiga flyttal från en enhetlig fördelning i [0, 1) med formen 3x2 för
random_floats_matrix
. - Använd rätt funktion för att skapa en 2D-array av slumpmässiga heltal för
random_integers_matrix
. - Ställ in intervallet till [10, 21) (från
10
till21
exklusivt) genom att specificera de två första argumenten för funktionen. - Ställ in formen för
random_integers_matrix
till 3x2 genom att specificera det tredje nyckelordsargumentet för funktionen.
Lösning
Tack för dina kommentarer!