Duomenų mokslas

Kaip naudoti pitoną „NumPy“, kur () funkcija su keliomis sąlygomis

Kaip naudoti pitoną „NumPy“, kur () funkcija su keliomis sąlygomis
„NumPy“ biblioteka turi daug funkcijų, kad būtų galima sukurti masyvą „Python“. Kur () funkcija yra viena iš jų, norint sukurti masyvą iš kito „NumPy“ masyvo, remiantis viena ar keliomis sąlygomis. Kai kurias operacijas galima atlikti masyvo kūrimo metu, atsižvelgiant į sąlygą, naudojant šią funkciją. Jis taip pat gali būti vartojamas be jokių sąlyginių išraiškų. Kaip šią funkciją galima naudoti su keliomis pitono sąlygomis, parodyta šioje pamokoje.

Sintaksė:

numpy.kur (sąlyga, [x, y])

kur funkcija () gali turėti du argumentus. Pirmasis argumentas yra privalomas, o antrasis - neprivalomas. Jei pirmojo argumento (būklė) yra teisinga, tada išvestyje bus masyvo elementai iš masyvo, x kitaip iš masyvo, y. Ši funkcija grąžins įvesties masyvo indekso reikšmes, jei nenaudojamas pasirinktinis argumentas.

Funkcijos „kur“ () naudojimas:

Šios funkcijos sąlygai apibrėžti gali būti naudojami skirtingi loginiai operatorių tipai. Funkcijos (), turinčios kelias sąlygas, naudojimo būdai parodyti šioje mokymo programos dalyje.

-1 pavyzdys: kelių sąlygų naudojimas su loginiu ARBA

Šis pavyzdys parodo, kur naudojama funkcija () su pasirinktiniu argumentu ir be jo. Sąlygą apibrėžti naudojo loginis OR. Pirmoji „(“) funkcija pritaikyta vienmatyje masyve, kuris grąžins įvesties masyvo indeksų masyvą, kur grįš sąlyga Tiesa. Antroji funkcija „(“) pritaikyta dviejuose vienmatiuose masyvuose atgaus pirmojo masyvo reikšmes, kai sąlyga grįš į „True“. Kitu atveju jis atgaus reikšmes iš antrojo masyvo.

# Importuoti „NumPy“ biblioteką
importuoti numerį kaip np
# Sukurkite masyvą naudodami sąrašą
np_array1 = np.masyvas ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
spausdinti ("Įvesties masyvo reikšmės: \ n", np_array1)
# Sukurkite kitą masyvą pagal kelias sąlygas ir vieną masyvą
new_array1 = np.kur ((np_array1 50))
# Atspausdinkite naują masyvą
spausdinti ("Masyvo filtruotos reikšmės: \ n", new_array1)
# Sukurkite masyvą naudodami diapazono reikšmes
np_array2 = np.aranžas (40, 50)
# Sukurkite kitą masyvą pagal kelias sąlygas ir du masyvus
new_array2 = np.kur ((np_array1 60), np_array1, np_array2)
# Atspausdinkite naują masyvą
spausdinti ("Masyvo filtruotos reikšmės: \ n", new_array2)

Išvestis:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Čia būklė grįžo Tiesa pirmojo masyvo 23,11,18,33 ir 38 reikšmėms. Būklė grįžo Klaidinga reikšmėms 45, 43, 60, 71 ir 52. Taigi, 42, 43, 44 ir 48 buvo pridėti iš antrojo masyvo reikšmėms 45, 43, 60 ir 52. Čia 71 yra diapazone.

-2 pavyzdys: kelių sąlygų naudojimas su loginiu IR

Šis pavyzdys parodo, kaip funkciją () galima naudoti su daugeliu logiškai apibrėžtų sąlygų ir pritaikyta dviejuose vienmatiuose masyvuose. Čia naudojant rand () funkciją buvo sukurti du vienmatiai „NumPy“ masyvai. Šie masyvai buvo naudojami funkcijoje kur () su keliomis sąlygomis, norint sukurti naują masyvą pagal sąlygas. Sąlyga grįš Tiesa kai pirmojo masyvo reikšmė yra mažesnė nei 40, o antrojo masyvo vertė yra didesnė nei 60. Naujas masyvas atspausdintas vėliau.

# Importuoti „NumPy“ biblioteką
importuoti numerį kaip np
# Sukurkite dvi atsitiktinių reikšmių masyvus
np_array1 = np.atsitiktinis.randas (10) * 100
np_array2 = np.atsitiktinis.randas (10) * 100
# Spausdinti masyvo reikšmes
spausdinti ("\ nPirmojo masyvo reikšmės: \ n", np_array1)
spausdinti ("\ nAntrojo masyvo reikšmės: \ n", np_array2)
# Sukurkite naują masyvą pagal sąlygas
new_array = np.kur ((np_array1 60), np_array1, np_array2)
# Atspausdinkite naują masyvą
spausdinti ("\ nAbi masyvo filtruotos reikšmės: \ n", new_array)

Išvestis:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Būklė grįžo Klaidinga visiems elementams. Taigi, grąžinamame masyve yra tik antrojo masyvo vertės.

3 pavyzdys: kelių sąlygų naudojimas daugialypėje masyve

Šis pavyzdys parodo, kur funkciją () galima naudoti su keliomis loginio apibrėžtomis sąlygomis IR kuri bus taikoma dviejuose daugialypiuose matricose. Čia naudojant sąrašus buvo sukurtos dvi daugialypės masyvai. Toliau šios funkcijos pritaikytos kur () funkcijai sukurti naują masyvą pagal sąlygą. Funkcijoje naudojama sąlyga grįš Tiesa kur pirmojo masyvo reikšmė lygi, o antrojo masyvo reikšmė nelyginė; priešingu atveju būklė grįš Klaidinga.

# Importuoti „NumPy“ biblioteką
importuoti numerį kaip np
# Sukurkite dvi daugiamačius sveikųjų skaičių reikšmių masyvus
np_array1 = np.masyvas ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.masyvas ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Spausdinkite masyvo reikšmes
spausdinti ("\ nPirmojo masyvo reikšmės: \ n", np_array1)
spausdinti ("\ nAntrojo masyvo reikšmės: \ n", np_array2)
# Sukurkite naują masyvą iš dviejų masyvų, atsižvelgdami į sąlygas
new_array = np.kur ((((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Atspausdinkite naują masyvą
spausdinti ("\ nAbi masyvo filtruotos reikšmės: \ n", new_array)

Išvestis:

Ši išvestis pasirodys atlikus pirmiau pateiktą scenarijų. Išvestyje 43, 12, 7, 34, 9, 22, 41, 5 ir 12 pridėjo naują masyvą iš antrojo masyvo, nes sąlyga yra Klaidinga šioms vertybėms. Pirmosios 12 masyvo vertės buvo pridėtos iš pirmojo masyvo, nes sąlyga yra Tiesa tik šiai vertei.

Išvada:

kur „NumPy“ bibliotekos funkcija () yra naudinga filtruojant reikšmes iš dviejų masyvų. Naujo masyvo kūrimas filtruojant duomenis iš dviejų masyvų, remiantis keliomis sąlygomis, apibrėžtomis loginėmis ARBA ir loginėmis IR, paaiškinta šioje pamokoje. Tikiuosi, kad skaitytojai, naudodamiesi šios pamokos pavyzdžiais, galės tinkamai naudoti šią funkciją savo scenarijuje.

„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...
Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...
Kaip parodyti FPS skaitiklį „Linux“ žaidimuose
„Linux“ žaidimai gavo didelį postūmį, kai „Valve“ paskelbė „Linux“ palaikymą „Steam“ klientui ir jų žaidimams 2012 m. Nuo tada daugelis AAA ir indie ž...