NumPy je knihovna Pythonu, která poskytuje mnoho funkcí pro vědecké výpočty. Jednou z těchto funkcí je vyhledávání indexů prvků v podpalubí. Je to velmi užitečná akce, která vám umožní najít pozici konkrétních prvků v poli a použít tyto informace v dalších výpočtech.
Chcete-li najít indexy prvků v podpaží pomocí NumPy, můžete použít funkci where. Tato funkce přijme vstupní podmínku, která je ověřena pro každý prvek pole, a vrátí indexy prvků, které tuto podmínku splňují. Lze použít i funkci argwhere, která vrací indexy prvků, pro které je podmínka pravdivá.
Pro příklad zvažte pole obsahující čísla od 0 do 9. Pokud chceme najít indexy prvků, které jsou větší než 5, můžeme použít funkci where nebo argwhere s podmínkou "prvky větší než 5". Výsledkem bude pole indexů, které obsahuje pozice prvků, které tuto podmínku splňují.
import numpy as nparr = np.array([0123456789])
subarr_indices = np.where(arr > 5)
print(subarr_indices)
NumPy: jak najít indexy prvků v subsidiaritě v Pythonu
Někdy potřebujeme najít indexy prvků v podpalubí-to je při práci s daty častý úkol. Místo hledání prvků po jednom můžeme použít NumPy k efektivnějšímu provádění tohoto úkolu.
Jedním ze způsobů, jak najít indexy prvků v substituci v NumPy, je použít funkci numpy.where(). Tato funkce vrací indexy prvků, které splňují danou podmínku.
Abychom našli indexy prvků v podskupině, můžeme porovnat každý prvek v původním poli s prvky v podskupině. Poté pomocí funkce numpy.where(), můžeme získat indexy prvků, které tuto podmínku splňují.
Níže je uveden příklad kódu, který ukazuje, jak najít indexy prvků v substituci v NumPy:
import numpy as np# Исходный массивarr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])# Подмассивsubarr = np.array([2, 4, 6])# Находим индексы элементов в подмассиве в исходном массивеindices = np.where(np.isin(arr, subarr))# Выводим индексы элементов в подмассивеprint(indices)
Výsledek provádění kódu:
(array([2, 4, 6]),)
Jak je vidět z výsledků, indexy prvků v podpalubí [2, 4, 6] v původním poli [0123456789] rovni [2, 4, 6].
Tedy pomocí funkce numpy.where() byli jsme schopni efektivně najít indexy prvků v substituci v NumPy.
Tímto způsobem lze najít indexy prvků v podskupině jakékoli délky a také použít jakékoli jiné srovnávací podmínky.
Upozorňujeme, že indexování v NumPy začíná na 0.
Na závěr, NumPy poskytuje pohodlné nástroje pro práci s poli a umožňuje vám efektivně najít indexy prvků v podskupině. To je užitečné zejména při zpracování velkého množství dat nebo při práci s matematickými výpočty.
Metody vyhledávání indexů v podpalubí
1. Metoda where()
Metoda where () vrací indexy dílčích prvků, které splňují určitou podmínku. Můžete například použít where () k nalezení indexů položek, které přesahují určitou hodnotu:
import numpy as nparr = np.array([1, 2, 3, 4, 5])subarray = np.array([3, 4, 5])indices = np.where(np.in1d(arr, subarray))[0]print(indices)
Výsledkem tohoto příkladu bude [2 3 4] , což znamená, že položky s indexy 2, 3 a 4 jsou zahrnuty do podpalubí.
2. Metoda nonzero()
Metoda nonzero () vrací indexy prvků v substituci, které nejsou nulové. Tuto metodu lze použít k nalezení indexů nenulových prvků v poli:
import numpy as nparr = np.array([1, 0, 2, 0, 3, 0])nonzero_indices = np.nonzero(arr)[0]print(nonzero_indices)
Výsledkem tohoto příkladu bude [0 2 4] , což znamená, že položky s indexy 0, 2 a 4 jsou zahrnuty do podpalubí a nejsou nulové.
3. Metoda argwhere()
Metoda argwhere () vrací indexy dílčích prvků, které splňují určité podmínky. Můžete například použít argwhere () k vyhledání indexů prvků, které jsou sudá čísla:
import numpy as nparr = np.array([1, 2, 3, 4, 5])subarray = np.array([2, 4])indices = np.argwhere(np.in1d(arr, subarray)).flatten()print(indices)
Výsledkem tohoto příkladu bude [1 3] , což znamená, že prvky s indexy 1 a 3 jsou součástí submisiv a jsou sudá čísla.
To jsou jen některé z metod pro vyhledávání indexů v podpalubí, které NumPy poskytuje. Pomocí těchto metod můžete snadno najít správné indexy prvků ve svých polích a podmasivech v Pythonu.
Jak používat NumPy k vyhledání indexů v podskupině
Při práci s datovými poli je často nutné najít indexy určitých hodnot v podpalubí. Máme například pole čísel a chceme najít indexy všech prvků, které jsou větší než určitá hodnota.
K vyřešení takového problému v NumPy můžeme použít funkci where (), která bere jako argument podmínku a vrací indexy příslušných prvků.
Zde je příklad, který ukazuje, jak použít NumPy k vyhledání indexů položek, které jsou větší než 5, v podskupině:
import numpy as np# Создаем массивarr = np.array([1, 6, 8, 3, 9, 4, 2, 7, 5])# Используем функцию where() для поиска индексов элементов, которые больше 5indices = np.where(arr > 5)# Выводим результатprint(indices) # (array([1, 2, 4, 7]),)
V tomto příkladu jsme vytvořili pole arr a použili jsme funkci where() k nalezení indexů prvků, které jsou větší než 5. Výsledkem fungování funkce je nóta s jedním prvkem, která obsahuje pole indexů.
Závěr programu ukazuje, že položky s indexy 1, 2 , 4 a 7 odpovídají prvkům pole arr, které jsou větší než 5.
NumPy tak poskytuje pohodlný způsob, jak najít indexy prvků v podskupině. Před použitím této funkce však musíte být opatrní a ujistit se, že pole je správně indexováno.