Data Science

Jak používat python NumPy where () funkce s více podmínkami

Jak používat python NumPy where () funkce s více podmínkami
Knihovna NumPy má mnoho funkcí k vytvoření pole v pythonu. kde () funkce je jedním z nich k vytvoření pole z jiného pole NumPy na základě jedné nebo více podmínek. Některé operace lze provést v době vytváření pole na základě podmínky pomocí této funkce. Lze jej použít i bez jakéhokoli podmíněného výrazu. Jak lze tuto funkci použít s více podmínkami v pythonu, ukazuje tento návod.

Syntax:

numpy.kde (podmínka, [x, y])

kde funkce () může trvat dva argumenty. První argument je povinný a druhý argument je volitelný. Pokud je hodnota prvního argumentu (stav) je true, pak výstup bude obsahovat prvky pole z pole, X jinak z pole, y. Tato funkce vrátí hodnoty indexu vstupního pole, pokud není použit žádný volitelný argument.

Použití funkce where ():

K definování podmínky této funkce lze použít různé typy booleovských operátorů. V této části tutoriálu jsou uvedena použití funkce kde () s více podmínkami.

Příklad -1: Použití více podmínek s logickým OR

Následující příklad ukazuje použití funkce where () s volitelným argumentem a bez něj. Zde se logické OR používá k definování podmínky. První funkce where () byla použita v jednorozměrném poli, které vrátí pole indexů vstupního pole, kde se vrátí podmínka Skutečný. Druhá funkce where () použitá ve dvou jednorozměrných polích načte hodnoty z prvního pole, když podmínka vrátí True. V opačném případě načte hodnoty z druhého pole.

# Importovat knihovnu NumPy
importovat numpy jako np
# Vytvořte pole pomocí seznamu
np_array1 = np.pole ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Hodnoty vstupního pole: \ n", np_array1)
# Vytvořte další pole na základě více podmínek a jednoho pole
new_array1 = np.kde ((np_array1 50))
# Vytiskněte nové pole
print ("Filtrované hodnoty pole: \ n", new_array1)
# Vytvořte pole pomocí hodnot rozsahu
np_array2 = np.arange (40, 50)
# Vytvořte další pole na základě více podmínek a dvou polí
new_array2 = np.kde ((np_array1 60), np_array1, np_array2)
# Vytiskněte nové pole
print ("Filtrované hodnoty pole: \ n", new_array2)

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. Zde se podmínka vrátila Skutečný pro hodnoty 23,11,18,33 a 38 prvního pole. Podmínka se vrátila Nepravdivé pro hodnoty 45, 43, 60, 71 a 52. Takže 42, 43, 44 a 48 byly přidány z druhého pole pro hodnoty 45, 43, 60 a 52. Zde je 71 mimo rozsah.

Příklad -2: Použití více podmínek s logickým AND

Následující příklad ukazuje, jak lze funkci () použít s více podmínkami definovanými logickými a aplikovanými ve dvou jednorozměrných polích. Zde byla pomocí funkce rand () vytvořena dvě jednorozměrná pole NumPy. Tato pole byla použita ve funkci where () s více podmínkami k vytvoření nového pole založeného na podmínkách. Podmínka se vrátí Skutečný když je hodnota prvního pole menší než 40 a hodnota druhého pole větší než 60. Nové pole se vytisklo později.

# Importovat knihovnu NumPy
importovat numpy jako np
# Vytvořte dvě pole náhodných hodnot
np_array1 = np.náhodný.rand (10) * 100
np_array2 = np.náhodný.rand (10) * 100
# Vytiskněte hodnoty pole
print ("\ nHodnoty prvního pole: \ n", np_array1)
print ("\ nHodnoty druhého pole: \ n", np_array2)
# Vytvořte nové pole na základě podmínek
new_array = np.kde ((np_array1 60), np_array1, np_array2)
# Vytiskněte nové pole
print ("\ nFiltrované hodnoty obou polí: \ n", new_array)

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. Podmínka se vrátila Nepravdivé pro všechny prvky. Vrátené pole tedy obsahuje pouze hodnoty z druhého pole.

Příklad 3: Použití více podmínek ve vícerozměrném poli

Následující příklad ukazuje, jak lze funkci () použít s více podmínkami definovanými logikou A která bude použita ve dvou vícerozměrných polích. Zde byla pomocí seznamů vytvořena dvě vícerozměrná pole. Dále tyto funkce použily funkci where () k vytvoření nového pole na základě podmínky. Vrátí se podmínka použitá ve funkci Skutečný kde je hodnota prvního pole sudá a hodnota druhého pole lichá; jinak se podmínka vrátí Nepravdivé.

# Importovat knihovnu NumPy
importovat numpy jako np
# Vytvořte dvě vícerozměrná pole celočíselných hodnot
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]])
# Vytiskněte hodnoty pole
print ("\ nHodnoty prvního pole: \ n", np_array1)
print ("\ nHodnoty druhého pole: \ n", np_array2)
# Vytvořte nové pole ze dvou polí na základě podmínek
new_array = np.kde (((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Vytiskněte nové pole
print ("\ nFiltrované hodnoty obou polí: \ n", new_array)

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. Na výstupu bylo 43, 12, 7, 34, 9, 22, 41, 5 a 12 přidáno do nového pole z druhého pole, protože podmínka je Nepravdivé pro tyto hodnoty. Prvních 12 hodnot v novém poli bylo přidáno z prvního pole, protože podmínka je Skutečný pouze pro tuto hodnotu.

Závěr:

kde funkce () knihovny NumPy je užitečná pro filtrování hodnot ze dvou polí. Vytvoření nového pole filtrováním dat ze dvou polí na základě více podmínek definovaných logickým OR a logickým AND bylo vysvětleno v tomto kurzu. Doufám, že čtenáři budou po procvičení příkladů tohoto tutoriálu schopni tuto funkci správně používat ve svém skriptu.

Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...