Liczby losowe w NumPy


Co to jest liczba losowa?

Liczba losowa NIE oznacza za każdym razem innej liczby. Losowo oznacza coś, czego nie da się logicznie przewidzieć.

Pseudo losowe i prawdziwe losowe.

Komputery działają na programach, a programy są ostatecznym zestawem instrukcji. Oznacza to, że musi istnieć jakiś algorytm do generowania liczby losowej.

Jeśli istnieje program do generowania liczb losowych, można go przewidzieć, a zatem nie jest to naprawdę losowy.

Liczby losowe generowane przez algorytm generowania są nazywane pseudolosowymi .

Czy możemy tworzyć naprawdę losowe liczby?

Tak. Aby wygenerować naprawdę losową liczbę na naszych komputerach, musimy uzyskać losowe dane z jakiegoś zewnętrznego źródła. To zewnętrzne źródło to zazwyczaj nasze naciśnięcia klawiszy, ruchy myszy, dane w sieci itp.

Nie potrzebujemy naprawdę losowych liczb, chyba że jest to związane z bezpieczeństwem (np. klucze szyfrujące) lub podstawą zastosowania jest losowość (np. Cyfrowe koła ruletki).

W tym samouczku będziemy używać liczb pseudolosowych.


Wygeneruj losową liczbę

NumPy oferuje randommoduł do pracy z liczbami losowymi.

Przykład

Wygeneruj losową liczbę całkowitą od 0 do 100:

from numpy import random

x = random.randint(100)

print(x)

Generuj losową liczbę zmiennoprzecinkową

Metoda modułu random rand()zwraca losową liczbę zmiennoprzecinkową z zakresu od 0 do 1.

Przykład

Wygeneruj losowy zmiennoprzecinkowy od 0 do 1:

from numpy import random

x = random.rand()

print(x)


Generuj tablicę losową

W NumPy pracujemy z tablicami i możesz użyć dwóch metod z powyższych przykładów do tworzenia tablic losowych.

Liczby całkowite

Metoda randint()przyjmuje size parametr, w którym można określić kształt tablicy.

Przykład

Wygeneruj tablicę 1-D zawierającą 5 losowych liczb całkowitych od 0 do 100:

from numpy import random

x=random.randint(100, size=(5))

print(x)

Przykład

Wygeneruj tablicę 2-D z 3 wierszami, z których każdy zawiera 5 losowych liczb całkowitych od 0 do 100:

from numpy import random

x = random.randint(100, size=(3, 5))

print(x)

Pływa

Metoda rand()pozwala również określić kształt tablicy.

Przykład

Wygeneruj tablicę 1-D zawierającą 5 losowych elementów zmiennoprzecinkowych:

from numpy import random

x = random.rand(5)

print(x)

Przykład

Wygeneruj tablicę 2D z 3 wierszami, z których każdy zawiera 5 liczb losowych:

from numpy import random

x = random.rand(3, 5)

print(x)

Generuj losową liczbę z tablicy

Metoda choice()pozwala na wygenerowanie losowej wartości na podstawie tablicy wartości.

Metoda choice()przyjmuje tablicę jako parametr i losowo zwraca jedną z wartości.

Przykład

Zwróć jedną z wartości w tablicy:

from numpy import random

x = random.choice([3, 5, 7, 9])

print(x)

Metoda choice()pozwala również zwrócić tablicę wartości.

Dodaj sizeparametr, aby określić kształt szyku.

Przykład

Wygeneruj tablicę 2-D, która składa się z wartości w parametrze tablicy (3, 5, 7 i 9):

from numpy import random

x = random.choice([3, 5, 7, 9], size=(3, 5))

print(x)