Tilfeldige Matriser
Det er ofte slik at vi trenger å generere et tilfeldig tall eller en matrise av tilfeldige tall. Heldigvis har NumPy en modul kalt random
spesielt for dette formålet.
De to mest brukte funksjonene i random
-modulen er:
rand()
;randint()
.
rand()
Funksjonen numpy.random.rand()
brukes til å generere enten et tilfeldig float
-tall eller en matrise av tilfeldige floats fra en uniform fordeling over [0, 1).
Merk
Klammer [ eller ] i intervallnotasjon indikerer at verdien er inkludert, mens parenteser ( eller ) indikerer at verdien er ekskludert. For eksempel betyr [0, 1) at intervallet inkluderer 0, men ikke 1. Ikke forveksle denne matematiske notasjonen med klammer brukt i kode — de tjener forskjellige formål.
Dens eneste mulige argumenter er dimensjonene til matrisen. Hvis ingen argumenter er gitt, genererer rand()
et tilfeldig float
-tall (skalar).
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)
Merk
Dimensjoner i
rand()
-funksjonen bør spesifiseres som separate heltallsparametere, ikke som en tuple av heltall. For eksempel,rand(4, 3)
er korrekt, mensrand((4, 3))
er feil.
randint()
Funksjonen numpy.random.randint
brukes til å generere enten et tilfeldig heltall eller en matrise av tilfeldige heltall fra en
diskret uniform fordeling innenfor et spesifisert intervall.
De tre viktigste parameterne er low
(den eneste påkrevd parameteren), high
og size
. Intervallet er [low, high)
(fra low
inkludert til high
ekskludert). Men hvis high
ikke er spesifisert, er 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)
Merk
I motsetning til
rand()
, spesifiserer vi dimensjonene til arrayet via en enkelt parametersize
, ved å sende enten et heltall eller en tuple av heltall.
Swipe to start coding
- Opprett en 1D-array av tilfeldige flyttall fra en jevn fordeling i [0, 1) med 4 elementer for
random_floats_array
. - Opprett en 2D-array av tilfeldige flyttall fra en jevn fordeling i [0, 1) med en form på 3x2 for
random_floats_matrix
. - Bruk riktig funksjon for å opprette en 2D-array av tilfeldige heltall for
random_integers_matrix
. - Sett intervallet til [10, 21) (fra
10
til21
eksklusiv) ved å spesifisere de to første argumentene til funksjonen. - Sett formen til
random_integers_matrix
til 3x2 ved å spesifisere det tredje nøkkelordargumentet til funksjonen.
Løsning
Takk for tilbakemeldingene dine!