Náhodná čísla v NumPy


Co je to náhodné číslo?

Náhodné číslo NEZNAMENÁ pokaždé jiné číslo. Náhodný znamená něco, co nelze logicky předvídat.

Pseudonáhodné a pravé náhody.

Počítače pracují na programech a programy jsou definitivní sadou instrukcí. Takže to znamená, že musí existovat nějaký algoritmus pro generování náhodného čísla.

Pokud existuje program pro generování náhodného čísla, lze jej předvídat, takže není skutečně náhodné.

Náhodná čísla generovaná pomocí generovacího algoritmu se nazývají pseudonáhodná .

Dokážeme vytvořit skutečně náhodná čísla?

Ano. Abychom na našich počítačích vygenerovali skutečně náhodné číslo, potřebujeme získat náhodná data z nějakého vnějšího zdroje. Tímto externím zdrojem jsou obecně naše stisky kláves, pohyby myši, data v síti atd.

Nepotřebujeme skutečně náhodná čísla, pokud to nesouvisí s bezpečností (např. šifrovací klíče) nebo základem aplikace je náhodnost (např. kola digitální rulety).

V tomto tutoriálu budeme používat pseudonáhodná čísla.


Generovat náhodné číslo

NumPy nabízí randommodul pro práci s náhodnými čísly.

Příklad

Vygenerujte náhodné celé číslo od 0 do 100:

from numpy import random

x = random.randint(100)

print(x)

Generovat náhodný plovák

Metoda náhodného modulu rand()vrací náhodný float mezi 0 a 1.

Příklad

Vygenerujte náhodný float od 0 do 1:

from numpy import random

x = random.rand()

print(x)


Generovat náhodné pole

V NumPy pracujeme s poli a můžete použít dvě metody z výše uvedených příkladů k vytvoření náhodných polí.

Celá čísla

Metoda randint()přebírá size parametr, kde můžete určit tvar pole.

Příklad

Vygenerujte 1-D pole obsahující 5 náhodných celých čísel od 0 do 100:

from numpy import random

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

print(x)

Příklad

Vygenerujte 2-D pole se 3 řádky, každý řádek obsahuje 5 náhodných celých čísel od 0 do 100:

from numpy import random

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

print(x)

Plováky

Metoda rand()také umožňuje určit tvar pole.

Příklad

Vygenerujte 1-D pole obsahující 5 náhodných floatů:

from numpy import random

x = random.rand(5)

print(x)

Příklad

Vygenerujte 2-D pole se 3 řádky, každý řádek obsahuje 5 náhodných čísel:

from numpy import random

x = random.rand(3, 5)

print(x)

Generovat náhodné číslo z pole

Metoda choice()umožňuje generovat náhodnou hodnotu na základě pole hodnot.

Metoda choice()bere jako parametr pole a náhodně vrací jednu z hodnot.

Příklad

Vraťte jednu z hodnot v poli:

from numpy import random

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

print(x)

Metoda choice()také umožňuje vrátit pole hodnot.

Přidejte sizeparametr k určení tvaru pole.

Příklad

Vygenerujte 2-D pole, které se skládá z hodnot v parametru pole (3, 5, 7 a 9):

from numpy import random

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

print(x)