Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Tilfældige Arrays | NumPy Grundlæggende
Ultimativ NumPy

book
Tilfældige Arrays

Det er ofte tilfældet, at vi har brug for at generere et tilfældigt tal eller en matrix af tilfældige tal. Heldigvis har NumPy et modul ved navn random specifikt til dette formål.

De to mest almindeligt anvendte funktioner i random-modulet er:

  • rand() ;

  • randint() .

rand()

Funktionen numpy.random.rand() bruges til at generere enten et tilfældigt float-tal eller en matrix af tilfældige floats fra en uniform fordeling over [0, 1).

Bemærk

Kantede parenteser [ eller ] i intervalnotation angiver, at værdien er inkluderet, mens parenteser ( eller ) angiver, at værdien er ekskluderet. For eksempel betyder [0, 1), at intervallet inkluderer 0, men ikke 1. Forveksl ikke denne matematiske notation med parenteser brugt i kode — de tjener forskellige formål.

Dens eneste mulige argumenter er dimensionerne af matrixen. Hvis der ikke gives noget argument, genererer rand() et tilfældigt float-tal (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)
12345678910
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)
copy

Bemærk

Dimensioner i rand()-funktionen skal specificeres som separate heltalsparametre, ikke som en tuple af heltal. For eksempel, rand(4, 3) er korrekt, mens rand((4, 3)) er forkert.

randint()

Funktionen numpy.random.randint bruges til at generere enten et tilfældigt heltal eller en array af tilfældige heltal fra en diskret uniform fordeling inden for et specificeret interval.

Dens tre vigtigste parametre er low (den eneste påkrævede parameter), high og size. Intervallet er [low, high) (fra low inklusiv til high eksklusiv). Men hvis high ikke er specificeret, så 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)
12345678910111213
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)
copy

Bemærk

I modsætning til rand(), specificerer vi dimensionerne af arrayet via en enkelt parameter size, hvor vi angiver enten et heltal eller en tuple af heltal.

Opgave

Swipe to start coding

  1. Opret et 1D array af tilfældige floats fra en ensartet fordeling i [0, 1) med 4 elementer til random_floats_array.
  2. Opret et 2D array af tilfældige floats fra en ensartet fordeling i [0, 1) med en form på 3x2 til random_floats_matrix.
  3. Brug den korrekte funktion til at oprette et 2D array af tilfældige heltal til random_integers_matrix.
  4. Indstil intervallet til [10, 21) (fra 10 til 21 eksklusiv) ved at specificere de første to argumenter af funktionen.
  5. Indstil formen på random_integers_matrix til 3x2 ved at specificere det tredje nøgleordsargument af funktionen.

Løsning

import numpy as np
# Generate a 1D array of random floats in [0, 1) with 4 elements
random_floats_array = np.random.rand(4)
# Generate a 2D array of random floats in [0, 1) of shape 3x2
random_floats_matrix = np.random.rand(3, 2)
# Generate a 2D array of random integers in [10, 21) of shape 3x2
random_integers_matrix = np.random.randint(10, 21, size=(3, 2))
print(random_floats_array)
print(random_floats_matrix)
print(random_integers_matrix)
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7
import numpy as np
# Generate a 1D array of random floats in [0, 1) with 4 elements
random_floats_array = ___.___.___(__)
# Generate a 2D array of random floats in [0, 1) of shape 3x2
random_floats_matrix = ___.___.___(___, ___)
# Generate a 2D array of random integers in [10, 21) of shape 3x2
random_integers_matrix = ___.___.___(___, ___, ___=___)
print(random_floats_array)
print(random_floats_matrix)
print(random_integers_matrix)

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt