Data Science

Ako používať python NumPy where () funkciu s viacerými podmienkami

Ako používať python NumPy where () funkciu s viacerými podmienkami
Knižnica NumPy má veľa funkcií na vytvorenie poľa v pythone. kde () je jedna z nich na vytvorenie poľa z iného poľa NumPy na základe jednej alebo viacerých podmienok. Niektoré operácie je možné vykonať v čase vytvárania poľa na základe stavu pomocou tejto funkcie. Môže sa použiť aj bez akýchkoľvek podmienečných výrazov. Ako je možné túto funkciu použiť v Pythone s viacerými podmienkami, je uvedené v tomto výučbe.

Syntax:

numpy.kde (podmienka, [x, y])

kde funkcia () môže mať dva argumenty. Prvý argument je povinný a druhý argument je voliteľný. Ak je hodnota prvého argumentu (stav) je pravda, potom výstup bude obsahovať prvky poľa z poľa, X inak z poľa, r. Táto funkcia vráti hodnoty indexu vstupného poľa, ak nie je použitý žiadny voliteľný argument.

Použitie funkcie where ():

Na definovanie stavu tejto funkcie je možné použiť rôzne typy boolovských operátorov. V tejto časti tutoriálu sú zobrazené použitia funkcie kde () s viacerými podmienkami.

Príklad -1: Použitie viacerých podmienok s logickým ALEBO

Nasledujúci príklad ukazuje použitie funkcie where () s voliteľným argumentom a bez neho. Tu sa na definovanie podmienky použilo logické OR. Prvá funkcia where () bola použitá v jednorozmernom poli, ktoré vráti pole indexov vstupného poľa, kde sa vráti podmienka Pravdaže. Druhá funkcia where () použitá v dvoch jednorozmerných poliach načíta hodnoty z prvého poľa, keď podmienka vráti hodnotu True. V opačnom prípade načíta hodnoty z druhého poľa.

# Importovať knižnicu NumPy
importovať numpy ako np
# Vytvorte pole pomocou zoznamu
np_array1 = np.pole ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Hodnoty vstupného poľa: \ n", np_array1)
# Vytvorte ďalšie pole na základe viacerých podmienok a jedného poľa
new_array1 = np.kde ((np_array1 50))
# Vytlačte nové pole
print ("Filtrované hodnoty poľa: \ n", new_array1)
# Vytvorte pole pomocou hodnôt rozsahu
np_array2 = np.pomaranč (40, 50)
# Vytvorte ďalšie pole na základe viacerých podmienok a dvoch polí
new_array2 = np.kde ((np_array1 60), np_array1, np_array2)
# Vytlačte nové pole
print ("Filtrované hodnoty poľa: \ n", new_array2)

Výkon:

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu sa stav vrátil Pravdaže pre hodnoty 23,11,18,33 a 38 prvého poľa. Podmienka sa vrátila Falošné pre hodnoty 45, 43, 60, 71 a 52. Takže, 42, 43, 44 a 48 boli pridané z druhého poľa pre hodnoty 45, 43, 60 a 52. Tu je 71 mimo rozsahu.

Príklad -2: Použitie viacerých podmienok s logickým AND

Nasledujúci príklad ukazuje, ako možno funkciu () použiť s viacerými podmienkami definovanými logickými a aplikovanými v dvoch jednorozmerných poliach. Tu boli pomocou funkcie rand () vytvorené dve jednorozmerné polia NumPy. Tieto polia sa použili vo funkcii where () s viacerými podmienkami na vytvorenie nového poľa založeného na podmienkach. Podmienka sa vráti Pravdaže keď je hodnota prvého poľa menšia ako 40 a hodnota druhého poľa je väčšia ako 60. Nové pole sa vytlačilo neskôr.

# Importovať knižnicu NumPy
importovať numpy ako np
# Vytvorte dve polia náhodných hodnôt
np_array1 = np.náhodný.rand (10) * 100
np_array2 = np.náhodný.rand (10) * 100
# Vytlačte hodnoty poľa
print ("\ nHodnoty prvého poľa: \ n", np_array1)
print ("\ nHodnoty druhého poľa: \ n", np_array2)
# Vytvorte nové pole na základe podmienok
new_array = np.kde ((np_array1 60), np_array1, np_array2)
# Vytlačte nové pole
print ("\ nFiltrované hodnoty oboch polí: \ n", new_array)

Výkon:

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Podmienka sa vrátila Falošné pre všetky prvky. Vrátené pole teda obsahuje iba hodnoty z druhého poľa.

Príklad 3: Použitie viacerých podmienok vo viacrozmernom poli

Nasledujúci príklad ukazuje, ako je možné kde () použiť funkciu s viacerými podmienkami definovanými logikou A ktoré sa použijú v dvoch viacrozmerných poliach. Tu boli pomocou zoznamov vytvorené dve viacrozmerné polia. Ďalej tieto funkcie uplatnili funkciu where () na vytvorenie nového poľa na základe podmienky. Podmienka použitá vo funkcii sa vráti Pravdaže kde hodnota prvého poľa je párna a hodnota druhého poľa nepárna; inak sa stav vráti Falošné.

# Importovať knižnicu NumPy
importovať numpy ako np
# Vytvorte dve viacrozmerné polia celočíselných hodnôt
np_array1 = np.pole ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.pole ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Vytlačte hodnoty poľa
print ("\ nHodnoty prvého poľa: \ n", np_array1)
print ("\ nHodnoty druhého poľa: \ n", np_array2)
# Vytvorte nové pole z dvoch polí podľa podmienok
new_array = np.kde (((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Vytlačte nové pole
print ("\ nFiltrované hodnoty oboch polí: \ n", new_array)

Výkon:

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Na výstupe bolo 43, 12, 7, 34, 9, 22, 41, 5 a 12 pridaných do nového poľa z druhého poľa, pretože podmienka je Falošné pre tieto hodnoty. Prvých 12 hodnôt v novom poli bolo pridaných z prvého poľa, pretože podmienka je Pravdaže iba pre túto hodnotu.

Záver:

kde funkcia () knižnice NumPy je užitočná na filtrovanie hodnôt z dvoch polí. Vytvorenie nového poľa filtráciou údajov z dvoch polí na základe viacerých podmienok definovaných logickým operátorom OR a logickým operátorom AND bolo vysvetlené v tomto výučbe. Dúfam, že čitatelia budú môcť po nacvičení príkladov tohto tutoriálu túto funkciu vo svojom skripte správne používať.

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...