
Jeśli kiedykolwiek musiałeś warunkowo przypisywać wartości w tablicach NumPy, to prawdopodobnie szukałeś optymalnego rozwiązania. W tym artykule pokażę, jak działa numpy.select() w języku Python oraz przedstawię przykłady jego zastosowania.
Co to jest numpy.select()?
Funkcja numpy.select() pozwala na warunkowy wybór wartości w tablicach NumPy. Działa na zasadzie sprawdzania wielu warunków (każdy z warunków odpowiada określonej wartości) i przypisywania odpowiednich wyników do nowej tablicy.
Podstawowa składnia wygląda następująco:
numpy.select(condlist, choicelist, default=0)
condlist– lista warunków (każdy musi być tablicą wartości logicznych, czyliTruelubFalse).choicelist– lista wartości przypisanych do odpowiednich warunków.default– wartość domyślna, przypisana do elementów niespełniających żadnych warunków.
Przykład zastosowania numpy.select()
Aby lepiej zrozumieć działanie tej funkcji, przeanalizujmy konkretny przykład:
import numpy as np
# Tworzymy tablicę NumPy
x = np.array([10, 25, 40, 55, 70])
# Definiujemy warunki
warunki = [
(x < 20), # Liczby mniejsze niż 20
(x >= 20) & (x <= 50), # Liczby od 20 do 50
(x > 50) # Liczby większe niż 50
]
# Przypisane wartości
wartosci = [
"niskie",
"średnie",
"wysokie"
]
# Używamy numpy.select()
wynik = np.select(warunki, wartosci, default="brak")
print(wynik)
Rezultat wykonania powyższego kodu to:
['niskie' 'średnie' 'średnie' 'wysokie' 'wysokie']
Dzięki temu każda wartość w tablicy x została zaklasyfikowana do jednej z trzech kategorii.
Zastosowanie numpy.select() w praktyce
Funkcja numpy.select() jest niezwykle przydatna w analizie danych, przetwarzaniu sygnałów oraz w uczeniu maszynowym. Przykłady zastosowania obejmują:
- Normalizację kategorii w zbiorze danych.
- Tworzenie reguł klasyfikacyjnych dla danej zmiennej.
- Modyfikację wartości w tablicach NumPy w zależności od reguł biznesowych.
Porównanie numpy.select() do innych metod
Alternatywnymi metodami przypisywania wartości warunkowych w NumPy są:
| Metoda | Zalety | Wady |
|---|---|---|
numpy.where() |
Szybkie dla dwóch warunków. | Dla wielu warunków wymaga zagnieżdżenia. |
numpy.piecewise() |
Mocniejsze w zastosowaniach matematycznych. | Bardziej skomplikowana składnia. |
numpy.select() |
Bardzo czytelne dla wielu warunków. | Nieco wolniejsze w porównaniu do prostych warunków numpy.where(). |
Najczęstsze błędy przy korzystaniu z numpy.select()
Podczas pracy z numpy.select() można natknąć się na pewne typowe błędy:
- Nieodpowiednia długość list – długość
condlistichoicelistmusi być taka sama. - Złe typy danych – np. przypisywanie wartości liczbowych do warunków w tablicy znakowej.
- Brak wartości domyślnej – niektóre elementy mogą wymagać wartości domyślnej, jeśli nie spełnią żadnego warunku.
Podsumowanie
Funkcja numpy.select() umożliwia łatwe przypisywanie wartości do elementów tablicy NumPy na podstawie wielu warunków. Dzięki swojej prostocie i czytelnej składni jest idealnym narzędziem w analizie danych oraz przetwarzaniu informacji. Warto znać jej możliwości oraz ograniczenia, aby stosować ją efektywnie.
Inny ciekawy artykuł:
Jak działa numpy where w języku Python? Przykład zastosowania
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

