Opanowanie NumPy: sposoby inicjowania, operacje i funkcje Ndarray

Opublikowany: 2021-01-05

Numpy to pakiet Pythona, który umożliwia wykonywanie operacji matematycznych i numerycznych z wysoką wydajnością i abstrakcyjną funkcjonalnością na danych wielowymiarowych. Podczas tworzenia rozwiązania uczenia maszynowego dla konkretnego przypadku użycia biznesowego bardzo ważne staje się przekształcenie danych w taki sposób, aby wstępne przetwarzanie stało się łatwe, a wyniki można zinterpretować. Numpy to podstawowa biblioteka, która umożliwia wykonywanie wszystkich powiązanych funkcji w najlepszy możliwy sposób.

Spis treści

Dlaczego NumPy?

Inne biblioteki Data Science, takie jak Pandas, Matplotlib i Scikit-learn, są oparte na Numpy ze względu na jego wysoką wydajność. Ta biblioteka oferuje ndarray, który jest używany zamiast wbudowanych list Pythona. Lista Pythona jest świetna do przechowywania wartości, ale odbywa się to kosztem zwiększonego czasu wykonania, ponieważ przechowuje wskaźniki lokalizacji pamięci, co zwiększa obciążenie pamięci i wykonania.

Numpy znajduje bezpośrednie zastosowanie w dziedzinie przetwarzania obrazu, gdzie obrazy są przetwarzane jako wielowymiarowe macierze do wykonywania różnych transformacji, takich jak rozmycie, zmiana koloru i wykrywanie obiektów.

Przyjrzyjmy się kilku ważnym funkcjom Numpy, które każdy aspirant Data Science powinien znać, ale wcześniej:

  1. Wszystkie poniższe kody funkcji zakładają, że biblioteka została zaimportowana z aliasem np, tj. import numpy jako np.
  2. Termin „macierz” będzie używany do określenia ndarray po tym punkcie.

Różne sposoby inicjowania

1. Rozstawione liniowo

Ta funkcja ma na celu zapewnienie liniowej tablicy z odstępami w zakresie wartości. Funkcja np.linspace(start, stop, num) gdzie start i stop definiują zakres wartości, a num określają liczbę próbek, zwraca równomiernie rozmieszczone wartości, natomiast np.arange(start, stop, step) zwraca wartości różniące się o wartości kroku.

2. Szczególne wartości

W wielu przypadkach możesz chcieć zainicjować dużą macierz z wartościami takimi jak jedynki, zera, tożsamość lub wartości stałe. Rozmiar tablicy jest przekazywany jako krotka. Numpy ułatwia to za pomocą różnych funkcji:

    • np.zeros(size): elementy są zerowe
    • np.ones(size): Elementy są jedynkami
    • np.full(rozmiar, stała wartość): elementy są przekazywane o stałej wartości.
    • np.eye(rozmiar): Elementy po przekątnej to jedynki, a reszta to zero. To jest macierz tożsamości.
    • np.empty(size): Pusta macierz
    • np.random.random(size): macierz wartości losowych jest inicjowana o określonym rozmiarze.

Przeczytaj: Pytania do rozmowy kwalifikacyjnej Numpy

Operacje Ndarray

Głównym celem tej biblioteki są wydajne obliczenia między różnymi tablicami. Numpy obsługuje prawie wszystkie rodzaje operacji matematycznych i manipulacji, które są stosowane z uwzględnieniem elementów. Niektóre z nich są wymienione poniżej (Załóżmy, że dwie tablice A i B o tym samym rozmiarze są inicjowane losowymi wartościami):

1. Matematyczne

  • np. dodaj (A, B): Dodawanie
  • np.subtract(A,B): Odejmowanie
  • np. dzielenie (A, B): dzielenie
  • np. mnożenie (A, B): Mnożenie
  • np.exp(A): Wartości wykładnicze
  • np.sqrt(A): Pierwiastek kwadratowy wartości
  • np.sin(A), cos(A), tan(A): Wartości trygonometryczne
  • np.log(A): Wartości logarytmiczne
  • np.percentile(A, wymagany percentyl, oś): Po przekazaniu wartości percentyla, na przykład 50, funkcja zwróci 50. percentyl tablicy.
  • A.dot(B): Zwraca iloczyn skalarny tablic
  • A == B: Mądre porównanie elementów
  • np.array_equal(A, B): Mądre porównanie tablic
  • A.sum(): Suma wszystkich elementów
  • A.min(), max(): wartości minimalne i maksymalne
  • A.cumsum(): Łączna suma elementów tablicy
  • A.corrcoef(): Współczynnik korelacji

2. Manipulacje

  • np.transpose(A) lub AT: Transpozycja macierzy
  • A.ravel(): Spłaszcza tablicę
  • A.reshape(new_shape): zmienia kształt tablicy (tutaj przekaż rozmiar bezpośrednio bez umieszczania go w krotce). Nowy rozmiar powinien być taki sam jak
  • A.resize(size): zmienia kształt tablicy na dowolny kształt i odrzuca inne elementy, które nie są częścią tego nowego kształtu.
  • np. concatenate((A,B), oś=1 lub 0)
  • np.vstack((A,B)): Ułóż tablice pionowo (wierszowo)
  • np.hstack((A,B)): Stos poziomy

Sprawdź: Numpy vs Panda: różnica między

Różne funkcje

  • np.where(): Jest to niezbędna funkcja, która eliminuje potrzebę stosowania instrukcji if-else. Przyjmuje 3 ważne argumenty: warunek, wartość, jeśli warunek jest spełniony i wartość, jeśli nie. Prostym przykładem może być sytuacja, w której musisz zbinaryzować kolumnę na podstawie danego progu.
  • np.intersect1d(): Ta funkcja zwraca część wspólną dwóch tablic jednowymiarowych. Oznacza to, że funkcja ta zwraca wspólne wartości tych tablic. Jeśli przekazane tablice nie są 1-d, to jest spłaszczane.
  • np.allclose(): To interesująca funkcja. Są sytuacje, w których możesz sobie pozwolić na pewien poziom tolerancji podczas porównywania tablic lub chcesz odkryć podobne tablice. Ta funkcja pobiera tablice i żądaną wartość tolerancji. Na przykład:
    • arr1 = np. tablica ([1,2,3,4])
    • tablica2 = np. tablica([2,3,4,5])
    • np.allclose(arr1, arr2, 0.5) : zwróci False
    • np.allclose(arr1, arr2, 1): zwróci True
  • argmin(), argmax() i argsort(): Jak sugeruje nazwa, funkcje te zwracają indeksy odpowiednich nazw. A.argmin() zwraca minimalny indeks elementu, A.argmax() odwrotnie, a A.argsort() zwraca indeksy posortowanej tablicy. Funkcje te mogą się przydać, gdy wynik zależy od indeksu.
  • np.clip(): Służy do konwersji wartości w określonym zakresie. Na przykład, jeśli tablica ma wartości od 1 do 30 i chcesz uzyskać wartości od 14 do 27 bez utraty innych wartości, ta funkcja przeskaluje w górę wartości mniejsze niż 19 do 19 i przeskaluje w dół wartości większe niż 27 do 27.

Wniosek

Istnieje znacznie więcej funkcji podczas pracy na tablicach numpy, ale są to najczęściej używane funkcje. Operacje zastosowane na kolumnach lub seriach Pandy są w rzeczywistości wykonywane na ndarray, ponieważ seria jest jednowymiarową ndarray.

Numpy to świetne narzędzie do generowania fałszywych danych do testowania określonych algorytmów lub symulowania scenariusza. Jest szeroko stosowany w aplikacjach wizyjnych, gdzie obraz jest przekształcany w wielowymiarowe macierze w celu wykonania wymaganych operacji lub w głębokim uczeniu, gdzie wagi sieci neuronowej są utrzymywane przez te ndarray.

Jeśli jesteś zainteresowany nauką o danych, sprawdź IIIT-B i upGrad's PG Diploma in Data Science, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1- on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.

Przygotuj się na karierę przyszłości

DYPLOM PG Z IIIT-B, PONAD 100 GODZIN NAUKI W KLASIE, PONAD 400 GODZIN NAUKI ONLINE I 360 STOPNI WSPARCIA KARIERY
Ucz się więcej