
Gdy pracuję z biblioteką NumPy w języku Python, często muszę generować różne macierze i tablice numeryczne. Jedną z przydatnych funkcji, na którą warto zwrócić uwagę, jest numpy.eye(). To bardzo prosty, ale niezwykle użyteczny sposób na tworzenie macierzy jednostkowej. Jak działa numpy eye w języku Python? Prześledźmy to krok po kroku.
Co to jest numpy.eye()?
Funkcja numpy.eye() służy do generowania macierzy jednostkowej, czyli takiej, która ma jedynki na głównej przekątnej oraz zera w pozostałych komórkach. Jest to funkcja niezwykle przydatna w algebrze liniowej i operacjach macierzowych.
Podstawowa składnia numpy.eye()
Oto jak wygląda składnia tej funkcji:
numpy.eye(N, M=None, k=0, dtype=float, order='C')
Poszczególne argumenty oznaczają:
N– liczba wierszy macierzy.M– (opcjonalnie) liczba kolumn. Jeśli nie zostanie podana, macierz będzie kwadratowa (N x N).k– określa, na której przekątnej mają znajdować się jedynki. Domyślnie wartość to0(główna przekątna), ale można użyć wartości dodatnich i ujemnych.dtype– typ danych w macierzy (domyślniefloat).order– sposób rozmieszczania danych w pamięci ('C'dla C-contiguous,'F'dla Fortran-contiguous).
Praktyczne przykłady numpy.eye()
Aby lepiej zrozumieć jak działa numpy eye w języku Python, zobaczmy kilka przykładów.
Tworzenie macierzy jednostkowej 3×3
import numpy as np
I = np.eye(3)
print(I)
Wynik:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
Macierz z różną liczbą wierszy i kolumn
Jeśli chcę utworzyć macierz 3×5, przekazuję dwa argumenty:
I = np.eye(3, 5)
print(I)
Rezultat:
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]]
Przesunięcie przekątnej
Jeżeli chcę przesunąć przekątną o jedno miejsce do góry (k=1):
I = np.eye(4, 4, k=1)
print(I)
Wyjście:
[[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]
[0. 0. 0. 0.]]
Zmiana typu danych
I = np.eye(4, dtype=int)
print(I)
Wynik:
[[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]]
Zastosowania numpy.eye()
Funkcja numpy.eye() znajduje zastosowanie w wielu dziedzinach:
- W algebrze liniowej – jako macierz tożsamościowa.
- W systemach równań liniowych – przy różnych przekształceniach macierzowych.
- W grafice komputerowej – przy transformacjach macierzowych.
- W analizie numerycznej – jako inicjalizacja macierzy w różnych algorytmach.
Porównanie numpy.eye() z numpy.identity()
W NumPy istnieje również funkcja numpy.identity(), która może wydawać się podobna. Oto porównanie:
| Funkcja | Opis | Obsługa macierzy niekwadratowych | Obsługa przesunięcia przekątnej |
|---|---|---|---|
numpy.eye() |
Tworzy macierz z jedynkami na przekątnej | Tak | Tak |
numpy.identity() |
Tworzy macierz jednostkową | Nie | Nie |
Podsumowując, jeśli potrzebuję macierzy tożsamościowej i chcę mieć możliwość zmiany liczby kolumn lub przesunięcia przekątnej, wybieram numpy.eye(). Jeśli wystarczy mi prosta macierz kwadratowa bez dodatkowych opcji, mogę użyć numpy.identity().
Podsumowanie
Funkcja numpy.eye() to świetny sposób na szybkie generowanie macierzy jednostkowych w Pythonie. Dzięki niej mogę łatwo manipulować przekątną, określać rozmiary i zmieniać typ danych w macierzy. To jedno z tych narzędzi, które wydają się proste, ale w praktyce okazują się niezwykle przydatne.
Inny ciekawy artykuł:
Jak działa numpy full 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.

