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 random
module 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 size
parameter 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)