
W pracy z biblioteką NumPy często napotykamy sytuacje, w których potrzebujemy stworzyć siatkę współrzędnych na podstawie określonych wektorów wartości. Do tego celu doskonale nadaje się funkcja numpy.meshgrid()
. W tym artykule szczegółowo omówię, jak działa numpy.meshgrid()
w języku Python i przedstawię przykład zastosowania.
Co to jest numpy.meshgrid()
?
Funkcja numpy.meshgrid()
generuje siatkę współrzędnych z podanych 1-wymiarowych tablic wartości. Siatka ta jest tworzona poprzez replikację tych wartości w taki sposób, aby umożliwić łatwe operowanie na współrzędnych w przestrzeni wielowymiarowej.
Składnia i parametry
Podstawowa składnia funkcji wygląda następująco:
numpy.meshgrid(*xi, indexing='xy', sparse=False, copy=True)
Gdzie:
*xi
– jedna lub więcej tablic wejściowych reprezentujących wartości osi współrzędnych.indexing
– domyślnie'xy'
, określa indeksowanie siatki ('ij'
dla indeksowania macierzowego).sparse
– jeśli ustawione naTrue
, zwraca siatkę w postaci oszczędnej (redukowana liczba operacji i pamięci).copy
– czy zwrócone tablice mają być kopiami wartości wejściowych.
Przykład użycia numpy.meshgrid()
Załóżmy, że chcemy utworzyć siatkę wartości opartą na dwóch wektorach.
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5])
X, Y = np.meshgrid(x, y)
print("X:\n", X)
print("Y:\n", Y)
Wynik:
X:
[[1 2 3]
[1 2 3]]
Y:
[[4 4 4]
[5 5 5]]
Tutaj wartości z x
zostały powielone jako kolumny, a wartości z y
jako wiersze.
Różnica między indeksowaniem 'xy’ a 'ij’
Funkcja numpy.meshgrid()
pozwala na wybór sposobu indeksowania danych.
X_ij, Y_ij = np.meshgrid(x, y, indexing='ij')
Zastosowanie indeksowania 'ij'
spowoduje inny układ wartości w zwróconych macierzach.
Oszczędna macierz sparse=True
Jeżeli interesuje nas oszczędność pamięci, możemy użyć opcji sparse=True
:
X_sparse, Y_sparse = np.meshgrid(x, y, sparse=True)
W takim przypadku zamiast pełnej siatki, otrzymujemy tylko minimalne wartości wymagane do zbudowania pełnej macierzy.
Praktyczne zastosowania numpy.meshgrid()
Funkcja numpy.meshgrid()
znajduje zastosowanie w:
- Generowaniu siatek współrzędnych do wykresów 3D.
- Tworzeniu map ciepła (heatmap) w analizie danych.
- Przetwarzaniu obrazów i operacjach na współrzędnych.
Podsumowanie
Funkcja numpy.meshgrid()
umożliwia szybkie tworzenie siatek współrzędnych, co jest niezwykle przydatne w analizie numerycznej oraz wizualizacji danych. Dzięki opcjom takim jak indexing
czy sparse
, możemy dostosować jej działanie do naszych potrzeb.
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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.