Znanost o podacima

Kako koristiti python NumPy gdje () funkcionira s više uvjeta

Kako koristiti python NumPy gdje () funkcionira s više uvjeta
NumPy knjižnica ima mnogo funkcija za stvaranje niza u pythonu. gdje je funkcija () jedna od njih za stvaranje niza od drugog niza NumPy na temelju jednog ili više uvjeta. Neke operacije mogu se izvršiti u vrijeme stvaranja niza na temelju uvjeta pomoću ove funkcije. Također se može koristiti bez ikakvog uvjetnog izraza. Kako se ova funkcija može koristiti s više uvjeta u pythonu, prikazano je u ovom vodiču.

Sintaksa:

numpy.gdje (uvjet, [x, y])

pri čemu funkcija () može uzeti dva argumenta. Prvi je argument obvezan, a drugi argument nije obvezan. Ako je vrijednost prvog argumenta (stanje) je true, tada će izlaz sadržavati elemente niza iz niza, x inače iz niza, g. Ova će funkcija vratiti vrijednosti indeksa ulaznog polja ako se ne koristi neobavezni argument.

Upotreba funkcije where ():

Različite vrste logičkih operatora mogu se koristiti za definiranje stanja ove funkcije. U ovom dijelu vodiča prikazane su upotrebe funkcije where () s više uvjeta.

Primjer -1: Upotreba više uvjeta s logičkim ILI

Sljedeći primjer prikazuje upotrebu funkcije where () sa i bez fakultativnog argumenta. Ovdje se logički OR koristio za definiranje uvjeta. Prva funkcija where () primijenjena je u jednodimenzionalnom nizu koji će vratiti niz indeksa ulaznog niza gdje će se vratiti uvjet Pravi. Druga funkcija where () primijenjena u dva jednodimenzionalna niza dohvatit će vrijednosti iz prvog polja kada će uvjet vratiti True. Inače će dohvatiti vrijednosti iz drugog polja.

# Uvezi NumPy biblioteku
uvoz numpy kao np
# Stvorite niz pomoću popisa
np_array1 = np.niz ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Vrijednosti ulaznog polja: \ n", np_array1)
# Stvorite drugi niz na temelju više uvjeta i jednog polja
novi_ niz1 = np.gdje ((np_array1 50))
# Ispišite novi niz
print ("Filtrirane vrijednosti polja: \ n", new_array1)
# Stvorite niz pomoću vrijednosti raspona
np_array2 = np.narančasto (40, 50)
# Stvorite još jedan niz na temelju više uvjeta i dva polja
novi_ niz2 = np.gdje ((np_array1 60), np_array1, np_array2)
# Ispišite novi niz
print ("Filtrirane vrijednosti polja: \ n", new_array2)

Izlaz:

Sljedeći će se izlaz pojaviti nakon izvršavanja gornje skripte. Evo, stanje se vratilo Pravi za vrijednosti 23,11,18,33 i 38 prvog niza. Stanje se vratilo Lažno za vrijednosti 45, 43, 60, 71 i 52. Dakle, 42, 43, 44 i 48 dodane su iz drugog polja za vrijednosti 45, 43, 60 i 52. Ovdje je 71 izvan dosega.

Primjer -2: Upotreba više uvjeta s logičkim I

Sljedeći primjer pokazuje kako se funkcija () može koristiti s više uvjeta definiranih logičkim i primijeniti u dva jednodimenzionalna niza. Ovdje su izrađena dva jednodimenzionalna niza NumPy pomoću funkcije rand (). Ti se nizovi koriste u funkciji where () s više uvjeta za stvaranje novog niza na temelju uvjeta. Stanje će se vratiti Pravi kada je vrijednost prvog polja manja od 40, a vrijednost drugog niza veća od 60. Novi niz ispisan je kasnije.

# Uvezi NumPy biblioteku
uvoz numpy kao np
# Stvorite dva polja slučajnih vrijednosti
np_array1 = np.slučajno.rand (10) * 100
np_array2 = np.slučajno.rand (10) * 100
# Ispišite vrijednosti polja
print ("\ nVrijednosti prvog polja: \ n", np_array1)
print ("\ nVrijednosti drugog polja: \ n", np_array2)
# Stvorite novi niz na temelju uvjeta
novi_ niz = np.gdje ((np_array1 60), np_array1, np_array2)
# Ispišite novi niz
print ("\ nFiltrirane vrijednosti oba polja: \ n", novi_ niz)

Izlaz:

Sljedeći će se izlaz pojaviti nakon izvršavanja gornje skripte. Stanje se vratilo Lažno za sve elemente. Dakle, vraćeni niz sadrži vrijednosti samo iz drugog polja.

Primjer-3: Upotreba višestrukih uvjeta u višedimenzionalnom nizu

Sljedeći primjer pokazuje kako se funkcija () može koristiti s više uvjeta definiranih logičkim I koji će se primijeniti u dva višedimenzionalna niza. Ovdje su pomoću popisa stvorena dva višedimenzionalna niza. Dalje, ove su funkcije primijenjene u funkciji where () za stvaranje novog niza na temelju uvjeta. Vratit će se uvjet korišten u funkciji Pravi gdje je vrijednost prvog polja parna, a vrijednost drugog niza je neparna; u suprotnom, stanje će se vratiti Lažno.

# Uvezi NumPy knjižnicu
uvoz numpy kao np
# Stvorite dva višedimenzionalna niza cjelobrojnih vrijednosti
np_array1 = np.niz ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.niz ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Ispišite vrijednosti polja
print ("\ nVrijednosti prvog polja: \ n", np_array1)
print ("\ nVrijednosti drugog polja: \ n", np_array2)
# Stvorite novi niz od dva niza na temelju uvjeta
novi_ niz = np.gdje je (((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Ispišite novi niz
print ("\ nFiltrirane vrijednosti oba polja: \ n", novi_ niz)

Izlaz:

Sljedeći će se izlaz pojaviti nakon izvršavanja gornje skripte. U izlaz su 43, 12, 7, 34, 9, 22, 41, 5 i 12 dodali novi niz iz drugog niza jer je uvjet Lažno za ove vrijednosti. Prvih 12 vrijednosti u novom nizu dodano je iz prvog polja jer je uvjet Pravi samo za ovu vrijednost.

Zaključak:

pri čemu je funkcija () funkcije knjižnice NumPy korisna za filtriranje vrijednosti iz dva polja. Stvaranje novog polja filtriranjem podataka iz dva polja na temelju više uvjeta definiranih logičkim ILI i logičkim I objašnjeno je u ovom vodiču. Nadam se da će čitatelji moći pravilno koristiti ovu funkciju u svojoj skripti nakon vježbanja primjera ovog vodiča.

Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...