07.2023 | NumPy | Operacje tablicowe | Tworzenie tablicy numpy
Pakiet NumPy, to jedno z najważniejszych narzędzi dla każdego analityka, pracującego z danymi. NumPy udostępnia efektywny obiekt tablicy n-wymiarowej, który umożliwia przeprowadzanie zaawansowanych operacji matematycznych i logicznych na dużych zestawach danych, jednocześnie zapewniając znacznie lepszą wydajność, w zakresie szybkości wykonywania operacji czy obliczeń (1).
Przyjrzyjmy się zatem podstawowym operacjom, jakie mogą być wykonane na tablicach NumPy...
Zawartość artykułu:
Zobaczmy zatem, jak stworzyć tablicę NumPy i następnie, jak je wykorzystać do wykonywania podstawowych operacji matematycznych.
Podstawowe cechy tablicy NumPy to:
Tworzenie tablic w NumPy jest intuicyjne i można być zrealizowane na kilka sposobów. Najprostszy sposób, to wykorzystanie funkcji np.array(), która tworzy tablicę z listy liczb.
Przykład kodu, tworzącego tablice NumPy, z wykorzystaniem wspomnianej funkcji np.array()
:
# importujemy pakiet numpy import numpy as np
# tworzymy jednowymiarową tablicę array1 = np.array([1, 2, 3, 4, 5]) print(array1)
# tworzymy dwuwymiarową tablicę array2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(array2)
Poza wymienioną metodą, NumPy udostępnia wiele innych funkcji do tworzenia specjalnych tablic. Na przykład, funkcje np.zeros()
i np.ones()
tworzą tablice wypełnione odpowiednio zerami i jedynkami.
Natomiast funkcja np.eye()
, tworzy tablicę z jedynkami na przekątnej i zerami w pozostałych miejscach, co jest bardzo przydatne w algebrze liniowej.
Zobaczmy przykłady:
# tworzenie tablicy wypełnionej zerami zeros = np.zeros((3, 3)) print(zeros) # wynik [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]]
# tworzenie tablicy wypełnionej jedynkami ones = np.ones((3, 3)) print(ones) # wynik [[1. 1. 1.] [1. 1. 1.] [1. 1. 1.]]
# tworzenie macierzy jednostkowej eye = np.eye(3) print(eye) # wynik [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]
Dostęp do elementów tablicy w NumPy, jest podobny, do dostępu do elementów listy w Pythonie. Możemy użyć indeksów w celu dostępu do konkretnych elementów, jak również w celu tworzenia podtablic.
Przykład:
# tworzenie tablicy array = np.array([1, 2, 3, 4, 5])
# dostęp do pierwszego elementu print(array[0])
# dostęp do ostatniego elementu print(array[-1])
# tworzenie podtablicy sub_array = array[1:4] print(sub_array)
Jedną z najważniejszych cech NumPy jest możliwość wykonywania operacji matematycznych na tablicach. Te operacje są wykonywane element po elemencie, co oznacza, że są wykonywane na każdym elemencie rozpatrywanej tablicy.
Zobaczmy na poniższy przykład:
# tworzenie dwóch tablic array1 = np.array([1, 2, 3, 4, 5]) array2 = np.array([6, 7, 8, 9, 10])
# dodawanie tablic print(array1 + array2) # wynik [ 7 9 11 13 15]
# mnożenie tablic print(array1 * array2) # wynik [ 6 14 24 36 50]
# dzielenie tablic print(array1 / array2) # wynik [0.16666667 0.28571429 0.375 0.44444444 0.5 ]
Zdarza się, że w trakcie pracy nad danymi musimy zmienić kształt tablicy, np. przekształcić tablicę jednowymiarową na dwuwymiarową. Z pomocą przychodzi nam ponownie numpy - możemy to zrobić za pomocą funkcji reshape()
.
# tworzenie tablicy array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# zmiana kształtu tablicy na 3x3 reshaped_array = array.reshape(3, 3) print(reshaped_array) # wynik [[1 2 3] [4 5 6] [7 8 9]]
NumPy to solidne narzędzie, które pozwala na wykonywanie wydajnych operacji, na dużych zestawach danych. Z uwagi na ten fakt, jest to jedna z najważniejszych bibliotek dla każdego, kto pracuje z danymi w Pythonie.<
W powyższym artykule przybliżyliśmy zupełnie podstawowe operacje, które można wykonywać na tablicach NumPy, takie jak tworzenie tablic, dostęp do elementów, operacje matematyczne oraz modyfikowanie kształtu tablicy.
Więcej informacji warto poszukać w dokumentacji pakietu.
(1) Porównanie wydajności Python vs NumPy można sprawdzić np. w poniższym artykule z serwisu Real Python: https://realpython.com/numpy-tensorflow-performance/
Napisz do mnie poprzez formularz kontaktowy.