Liczby losowe w NumPy

Co to są liczby losowe?

Liczby losowe nie oznaczają, że liczby będą różne każdorazowo. Losowe oznacza, że coś nie można logicznie przewidzieć.

Pseudolosowe i prawdziwe losowe

Komputery pracują na programach, które są autorytatywnym zestawem instrukcji. Oznacza to, że musi istnieć pewien algorytm generujący liczby losowe.

Jeśli istnieje program generujący liczby losowe, można go przewidzieć, więc nie są to prawdziwe liczby losowe.

Liczby losowe generowane przez algorytmy nazywane są liczbami losowymi pseudolosowymi.

Czy możemy generować prawdziwe liczby losowe?

Tak. Aby wygenerować prawdziwą liczbę losową na naszym komputerze, musimy uzyskać dane losowe z zewnętrznego źródła. Zewnętrzne źródła to zazwyczaj nasze naciśnięcia klawiszy, ruchy myszy, dane sieciowe itp.

Nie potrzebujemy prawdziwych liczb losowych, chyba że są one związane z bezpieczeństwem (np. klucze szyfrowania) lub podstawą aplikacji jest przypadkowość (np. koło ruletki).

W tym tutorialu użyjemy fałszywych liczb losowych.

Generowanie liczb losowych

NumPy oferuje moduł random do obsługi liczb losowych.

Przykład

Generowanie losowej liczby całkowitej w zakresie od 0 do 100:

from numpy import random
x = random.randint(100)
print(x)

Uruchom Przykład

Generowanie losowych liczb zmiennoprzecinkowych

Moduł random rand() Metoda zwraca losową liczbę zmiennoprzecinkową w zakresie od 0 do 1.

Przykład

Generowanie losowej liczby zmiennoprzecinkowej w zakresie od 0 do 100:

from numpy import random
x = random.rand()
print(x)

Uruchom Przykład

Generowanie losowych tablic

W NumPy możemy użyć dwóch metod z przykładu powyżej do utworzenia losowej tablicy.

liczby całkowite

randint() Metoda przyjmuje size Parametr, w którym można指定 tablicy kształt.

Przykład

Generuj 1-wymiarową macierz zawierającą 5 losowych liczb całkowitych z zakresu 0 do 100:

from numpy import random
x=random.randint(100, size=(5))
print(x)

Uruchom Przykład

Przykład

Generuj 2-wymiarową macierz o 3 wierszach, z każdym wierszem zawierającym 5 losowych liczb całkowitych z zakresu 0 do 100:

from numpy import random
x = random.randint(100, size=(3, 5))
print(x)

Uruchom Przykład

Liczby zmiennoprzestrzenne

rand() Metoda pozwala również na określenie kształtu tablicy.

Przykład

Generuj 1-wymiarową macierz zawierającą 5 losowych liczb zmiennoprzestrzennych:

from numpy import random
x = random.rand(5)
print(x)

Uruchom Przykład

Przykład

Generuj 2-wymiarową macierz o 3 wierszach, z każdym wierszem zawierającym 5 losowych liczb:

from numpy import random
x = random.rand(3, 5)
print(x)

Uruchom Przykład

Generuj losowe liczby z tablicy

choice() Metoda pozwala na generowanie losowych wartości na podstawie tablicy wartości.

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

Przykład

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

from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)

Uruchom Przykład

choice() Metoda pozwala również na zwrócenie tablicy wartości.

Dodaj jedną size Parametry określają kształt tablicy.

Przykład

Generuj dwuwymiarowy macierz z wartościami z parametrów tablicy (3, 5, 7 i 9):

from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)

Uruchom Przykład