Sintakse:
numpy.kur (nosacījums, [x, y])kur funkcijai () var būt divi argumenti. Pirmais arguments ir obligāts, un otrais arguments nav obligāts. Ja pirmā argumenta (stāvoklī) ir taisnība, tad izvadē būs masīva elementi no masīva, x citādi no masīva, y. Šī funkcija atgriezīs ievades masīva indeksu vērtības, ja netiek izmantots papildu arguments.
Funkcijas kur () izmantošana:
Lai definētu šīs funkcijas nosacījumu, var izmantot dažāda veida Būla operatorus. Šajā apmācības daļā tiek parādīti funkcijas () funkcijas ar vairākiem nosacījumiem izmantošanas veidi.
-1. Piemērs: vairāku nosacījumu izmantošana ar loģisku VAI
Šis piemērs parāda funkcijas where () izmantošanu ar izvēles argumentu un bez tā. Šeit nosacījuma definēšanai ir izmantots loģiskais OR. Pirmā funkcija, kur () ir izmantota viendimensiju masīvā, kas atgriezīs ievades masīva indeksu masīvu, kur atgriezīsies nosacījums Patiesi. Otrais, kur funkcija () ir lietota divos viendimensiju masīvos, iegūs vērtības no pirmā masīva, kad nosacījums atgriezīsies True. Pretējā gadījumā tas izgūs vērtības no otrā masīva.
# Importēt NumPy bibliotēkuimportēt numpy kā np
# Izveidojiet masīvu, izmantojot sarakstu
np_array1 = np.masīvs ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Ievades masīva vērtības: \ n", np_array1)
# Izveidojiet citu masīvu, pamatojoties uz vairākiem nosacījumiem un vienu masīvu
new_array1 = np.kur ((np_array1 50))
# Izdrukājiet jauno masīvu
print ("Masīva filtrētās vērtības: \ n", new_array1)
# Izveidojiet masīvu, izmantojot diapazona vērtības
np_array2 = np.aranžs (40, 50)
# Izveidojiet citu masīvu, pamatojoties uz vairākiem nosacījumiem un diviem masīviem
new_array2 = np.kur ((np_array1 60), np_array1, np_array2)
# Izdrukājiet jauno masīvu
print ("Masīva filtrētās vērtības: \ n", new_array2)
Izeja:
Pēc iepriekš minētā skripta izpildes parādīsies šāda izeja. Lūk, stāvoklis ir atgriezies Patiesi pirmā masīva vērtībām 23,11,18,33 un 38. Stāvoklis ir atgriezies Nepatiesa vērtībām 45, 43, 60, 71. un 52. Tātad no otrā masīva pievienotas 42, 43, 44 un 48 vērtībām 45, 43, 60 un 52. Šeit 71 ir ārpus diapazona.
-2. Piemērs: vairāku nosacījumu izmantošana ar loģisko UN
Šajā piemērā parādīts, kā funkciju () var izmantot ar vairākiem nosacījumiem, ko definē loģiski un var lietot divos viendimensiju masīvos. Šeit, izmantojot funkciju rand (), ir izveidoti divi viendimensiju NumPy masīvi. Šie masīvi ir izmantoti funkcijā kur () ar vairākiem nosacījumiem, lai izveidotu jaunu masīvu, pamatojoties uz nosacījumiem. Nosacījums atgriezīsies Patiesi kad pirmā masīva vērtība ir mazāka par 40 un otrā masīva vērtība ir lielāka par 60. Jaunais masīvs ir izdrukāts vēlāk.
# Importēt NumPy bibliotēkuimportēt numpy kā np
# Izveidojiet divus nejaušo vērtību masīvus
np_array1 = np.nejaušs.rands (10) * 100
np_array2 = np.nejaušs.rands (10) * 100
# Izdrukājiet masīva vērtības
print ("\ nPirmā masīva vērtības: \ n", np_array1)
print ("\ nOtrā masīva vērtības: \ n", np_array2)
# Izveidojiet jaunu masīvu, pamatojoties uz nosacījumiem
new_array = np.kur ((np_array1 60), np_array1, np_array2)
# Izdrukājiet jauno masīvu
print ("\ n Abu filtru filtrētās vērtības: \ n", new_array)
Izeja:
Pēc iepriekš minētā skripta izpildes parādīsies šāda izeja. Stāvoklis ir atgriezies Nepatiesa visiem elementiem. Tātad atgrieztajā masīvā ir tikai otrā masīva vērtības.
3. piemērs: vairāku nosacījumu izmantošana daudzdimensiju masīvā
Šis piemērs parāda, kā funkciju () var izmantot ar vairākiem loģiski definētiem nosacījumiem UN ko izmantos divos daudzdimensionālos masīvos. Šeit, izmantojot sarakstus, ir izveidoti divi daudzdimensiju masīvi. Pēc tam šīs funkcijas ir izmantotas funkcijā where (), lai izveidotu jaunu masīvu, pamatojoties uz nosacījumu. Funkcijā izmantotais nosacījums atgriezīsies Patiesi kur pirmā masīva vērtība ir pāra un otrā masīva vērtība ir nepāra; pretējā gadījumā stāvoklis atgriezīsies Nepatiesa.
# Importēt NumPy bibliotēkuimportēt numpy kā np
# Izveidojiet divus veselu skaitļu daudzdimensionālus masīvus
np_array1 = np.masīvs ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.masīvs ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Izdrukājiet masīva vērtības
print ("\ nPirmā masīva vērtības: \ n", np_array1)
drukāt ("\ nOtrā masīva vērtības: \ n", np_array2)
# Izveidojiet jaunu masīvu no diviem masīviem, pamatojoties uz nosacījumiem
new_array = np.kur ((((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Izdrukājiet jauno masīvu
drukāt ("\ n Abu filtru filtrētās vērtības: \ n", new_array)
Izeja:
Pēc iepriekš minētā skripta izpildes parādīsies šāda izeja. Izejā 43, 12, 7, 34, 9, 22, 41, 5 un 12 ir pievienojuši jauno masīvu no otrā masīva, jo nosacījums ir Nepatiesa šīm vērtībām. Pirmās 12 vērtības jaunajā masīvā ir pievienotas no pirmā masīva, jo nosacījums ir Patiesi tikai šai vērtībai.
Secinājums:
kur NumPy bibliotēkas funkcija () ir noderīga, lai filtrētu vērtības no diviem masīviem. Jauna masīva izveide, filtrējot datus no diviem masīviem, pamatojoties uz vairākiem nosacījumiem, kurus definē loģiski VAI un loģiski UN, ir paskaidrots šajā apmācībā. Es ceru, ka lasītāji pēc šīs apmācības piemēru izmantošanas varēs pareizi izmantot šo funkciju savā skriptā.