Ewekansige getalle in NumPy


Wat is 'n ewekansige nommer?

Ewekansige getal beteken NIE elke keer 'n ander getal nie. Random beteken iets wat nie logies voorspel kan word nie.

Pseudo Random en True Random.

Rekenaars werk op programme, en programme is definitiewe stel instruksies. Dit beteken dus dat daar 'n algoritme moet wees om ook 'n ewekansige getal te genereer.

As daar 'n program is om ewekansige getal te genereer, kan dit voorspel word, dus is dit nie werklik ewekansig nie.

Ewekansige getalle wat deur 'n generasie-algoritme gegenereer word, word pseudo-lukraak genoem .

Kan ons werklik ewekansige getalle maak?

Ja. Om 'n werklik ewekansige getal op ons rekenaars te genereer, moet ons die ewekansige data van 'n eksterne bron kry. Hierdie buitebron is gewoonlik ons ​​toetsaanslagen, muisbewegings, data op netwerk ens.

Ons het nie werklik ewekansige getalle nodig nie, tensy dit verband hou met sekuriteit (bv. enkripsiesleutels) of die basis van toepassing is die ewekansigheid (bv. Digitale roulettewiele).

In hierdie tutoriaal sal ons pseudo-ewekansige getalle gebruik.


Genereer ewekansige nommer

NumPy bied die randommodule aan om met ewekansige getalle te werk.

Voorbeeld

Genereer 'n ewekansige heelgetal van 0 tot 100:

from numpy import random

x = random.randint(100)

print(x)

Genereer Random Float

Die ewekansige module se rand()metode gee 'n ewekansige dryfkrag tussen 0 en 1 terug.

Voorbeeld

Genereer 'n ewekansige dryfkrag van 0 tot 1:

from numpy import random

x = random.rand()

print(x)


Genereer ewekansige skikking

In NumPy werk ons ​​met skikkings, en jy kan die twee metodes uit die bogenoemde voorbeelde gebruik om ewekansige skikkings te maak.

Heelgetalle

Die randint()metode neem 'n size parameter waar jy die vorm van 'n skikking kan spesifiseer.

Voorbeeld

Genereer 'n 1-D skikking wat 5 ewekansige heelgetalle van 0 tot 100 bevat:

from numpy import random

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

print(x)

Voorbeeld

Genereer 'n 2-D skikking met 3 rye, elke ry bevat 5 ewekansige heelgetalle van 0 tot 100:

from numpy import random

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

print(x)

Vlotte

Die rand()metode laat jou ook toe om die vorm van die skikking te spesifiseer.

Voorbeeld

Genereer 'n 1-D skikking wat 5 ewekansige dryf bevat:

from numpy import random

x = random.rand(5)

print(x)

Voorbeeld

Genereer 'n 2-D skikking met 3 rye, elke ry bevat 5 ewekansige getalle:

from numpy import random

x = random.rand(3, 5)

print(x)

Genereer ewekansige nommer uit skikking

Die choice()metode laat jou toe om 'n ewekansige waarde op grond van 'n verskeidenheid waardes te genereer.

Die choice()metode neem 'n skikking as 'n parameter en gee ewekansig een van die waardes terug.

Voorbeeld

Gee een van die waardes in 'n skikking terug:

from numpy import random

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

print(x)

Die choice()metode laat jou ook toe om 'n verskeidenheid waardes terug te gee.

Voeg 'n sizeparameter by om die vorm van die skikking te spesifiseer.

Voorbeeld

Genereer 'n 2-D skikking wat bestaan ​​uit die waardes in die skikking parameter (3, 5, 7 en 9):

from numpy import random

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

print(x)