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.

Nejlepší notebooky pro Adobe Premiere Pro
Pokud používáte Adobe Premiere Pro pro všechny vaše potřeby úpravy videa, budete vědět, jak důležité je, abyste měli dobrý notebook. Během programu um...
Jak zlepšit výkon SSD v laptopech Linux
Jednotky SSD (Solid State Drives) jsou prakticky povinné pro výkonově orientovaná nastavení počítačů se systémem Linux, i když jsou nákladnější než tr...
Nejlepší notebooky Razor
Na trhu existují stovky různých typů modelů notebooků. Tyto notebooky jsou provozovány na několika dostupných operačních systémech. Všichni však víme ...