Andmeteadus

Kuidas kasutada Python NumPy kus () funktsiooni mitme tingimusega

Kuidas kasutada Python NumPy kus () funktsiooni mitme tingimusega
NumPy teegil on massiivi loomiseks pythonis palju funktsioone. kus funktsioon () on üks neist massiivi loomiseks teisest NumPy massiivist ühe või mitme tingimuse põhjal. Mõningaid toiminguid saab selle funktsiooni abil massiivi loomise ajal tingimusest lähtuvalt teha. Seda saab kasutada ka ilma tingimuseväljendita. Kuidas seda funktsiooni saab Pythonis kasutada mitme tingimusega, on näidatud selles õpetuses.

Süntaks:

numpy.kus (tingimus, [x, y])

kus funktsioon () võib võtta kaks argumenti. Esimene argument on kohustuslik ja teine ​​argument on valikuline. Kui esimese argumendi väärtus (seisund) on tõene, siis sisaldab väljund massiivi massiivi elemente, x muidu massiivist, y. See funktsioon tagastab sisendmassiivi indeksväärtused, kui valikulist argumenti ei kasutata.

Funktsiooni kus () kasutamine:

Selle funktsiooni tingimuse määratlemiseks saab kasutada erinevat tüüpi Boole'i ​​operaatoreid. Juhised, kus funktsioon (()) koos mitme tingimusega on näidatud õpetuse selles osas.

Näide -1: mitme tingimuse kasutamine loogilise VÕI-ga

Järgmine näide näitab funktsiooni where () kasutamist koos valikulise argumendiga ja ilma. Siin on tingimuse määratlemiseks kasutanud loogilist OR. Esimene funktsioon () on rakendatud ühemõõtmelises massiivis, mis tagastab sisendi massiivi indeksite massiivi, kus tingimus naaseb Tõsi. Teine, kus funktsioon () on rakendatud kahes ühemõõtmelises massižis, saab väärtused esimesest massiivist, kui tingimus naaseb väärtuseks True. Vastasel juhul hangib see väärtused teisest massiivist.

# Importige NumPy teek
impordi numpy kui np
# Loo loendi abil massiiv
np_array1 = np.massiiv ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Sisendmassiivi väärtused: \ n", np_array1)
# Loo mitu massiivi mitme tingimuse ja ühe massiivi põhjal
uus_array1 = np.kus ((np_array1 50))
# Printige uus massiiv
print ("Massiivi filtreeritud väärtused: \ n", new_array1)
# Loo massiiv vahemiku väärtuste abil
np_array2 = np.aranž (40, 50)
# Looge mitu massiivi mitme tingimuse ja kahe massiivi põhjal
uus_array2 = np.kus ((np_array1 60), np_array1, np_array2)
# Trükkige uus massiiv
print ("Massiivi filtreeritud väärtused: \ n", new_array2)

Väljund:

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund. Siin on seisund taastunud Tõsi esimese massiivi väärtuste 23,11,18,33 ja 38 jaoks. Seisund on tagasi tulnud Vale väärtuste 45, 43, 60, 71 ja 52 jaoks. Niisiis on teisest massiivist lisatud väärtused 45, 43, 60 ja 52 teisest massiivist 42, 43, 44 ja 48. Siin jääb 71 vahemikku.

Näide -2: mitme tingimuse kasutamine loogilise AND-ga

Järgmine näide näitab, kuidas funktsiooni () saab kasutada mitme tingimusega, mis on määratletud loogiliselt ja rakendatud kahes ühemõõtmelises massiivis. Siin on funktsiooni rand () abil loodud kaks ühemõõtmelist NumPy massiivi. Neid massiive on kasutatud funktsioonis kus () koos mitme tingimusega tingimuste põhjal uue massiivi loomiseks. Tingimus naaseb Tõsi kui esimese massiivi väärtus on väiksem kui 40 ja teise massiivi väärtus on suurem kui 60. Uus massiiv on hiljem trükitud.

# Importige NumPy teek
impordi numpy kui np
# Loo kaks juhuslike väärtuste massiivi
np_array1 = np.juhuslik.rand (10) * 100
np_array2 = np.juhuslik.rand (10) * 100
# Trükkige massiivi väärtused
print ("\ nEsu massiivi väärtused: \ n", np_array1)
print ("\ nTeise massiivi väärtused: \ n", np_array2)
# Looge tingimuste põhjal uus massiiv
uus_array = np.kus ((np_array1 60), np_array1, np_array2)
# Trükkige uus massiiv
print ("\ nMõlema massiivi filtreeritud väärtused: \ n", new_array)

Väljund:

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund. Seisund on tagasi tulnud Vale kõigi elementide jaoks. Niisiis, tagastatud massiiv sisaldab ainult teise massiivi väärtusi.

Näide 3: Mitme tingimuse kasutamine mitmemõõtmelises massiivis

Järgmine näide näitab, kuidas funktsiooni () saab kasutada loogiliselt määratletud mitme tingimusega JA mida rakendatakse kahes mitmemõõtmelises massiivis. Siin on loendite abil loodud kaks mitmemõõtmelist massiivi. Järgmisena on need funktsioonid rakendatud kus () funktsioonis tingimuse põhjal uue massiivi loomiseks. Funktsioonis kasutatud tingimus naaseb Tõsi kus esimese massiivi väärtus on paaris ja teise massiivi väärtus on paaritu; muidu seisund taastub Vale.

# Importige NumPy teek
impordi numpy kui np
# Loo kaks mitmemõõtmelist täisarvu massiivi
np_array1 = np.massiiv ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.massiiv ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Trükkige massiivi väärtused
print ("\ nEsu massiivi väärtused: \ n", np_array1)
print ("\ nTeise massiivi väärtused: \ n", np_array2)
# Looge tingimuste põhjal uus massiiv kahest massiivist
uus_array = np.kus ((((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Trükkige uus massiiv
print ("\ nMõlema massiivi filtreeritud väärtused: \ n", new_array)

Väljund:

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund. Väljundis on 43, 12, 7, 34, 9, 22, 41, 5 ja 12 lisanud teise massiivi uue massiivi, kuna tingimus on Vale nende väärtuste jaoks. Uue massiivi 12 esimest väärtust on lisatud esimesest massiivist, kuna tingimus on Tõsi ainult selle väärtuse jaoks.

Järeldus:

kus NumPy teegi funktsioon () on kasulik kahe massiivi väärtuste filtreerimiseks. Uue massiivi loomine kahe massiivi andmete filtreerimise teel, tuginedes mitmele loogilise VÕI ja loogilise JA määratletud tingimusele, on selles õpetuses selgitatud. Loodan, et lugejad saavad pärast selle õpetuse näidete harjutamist seda funktsiooni oma skriptis korralikult kasutada.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...