Numpy Zastosuj funkcję

Numpy Zastosuj funkcję
Wbudowana biblioteka oferowana przez Pythona, znana jako Numpy, pozwala nam budować tablice wielowymiarowe, modyfikować je i wykonywać różne obliczenia arytmetyczne na nich. Zastosuj funkcję jest również dostarczana przez pakiet Numpy. Typowy przypadek użycia funkcji zastosowania jest podobny do scenariusza, w którym chcemy pokroić tablicę i wykonać niektóre operacje na każdym elemencie listy, na przykład, jeśli chcemy wyrównać każdą pozycję wiersza wiersza. Oczywiście w Python wiemy, że na pętle są powolne, więc chcielibyśmy ich uniknąć, jeśli to możliwe. Funkcję „Zastosuj” można użyć, jeśli chcesz wykonać tę samą operację w każdym wierszu lub kolumnie ramki danych. Innymi słowy, robi to, co chcesz zrobić z pętlą bez konieczności pisania pętli.

Istnieją dwie metody zastosowania dowolnej funkcji do tablicy w zależności od warunku. Możemy zastosować funkcję „Zastosuj na osi”, która jest przydatna, gdy zastosujemy funkcję na każdym elemencie tablicy jeden po drugim, i jest ona przydatna dla tablic N-wymiarowych. Druga metoda to „zastosowanie wzdłuż osi”, która dotyczy tablicy jednowymiarowej.

Składnia:

Metoda 1: Zastosuj wzdłuż osi

Numpy.Apply_Along_Axis (1d_function, oś, arr, *args, ** kwargs)

W składni mamy „Numpy.Zastosuj ”funkcję, do której przekazujemy pięć argumentów. Pierwszy argument, który jest „1d_function”, działa na jednowymiarowej tablicy, która jest wymagana. Podczas gdy drugi argument, „oś”, jest tym, na którym osi chcesz pokroić tablicę i zastosować tę funkcję. Trzeci parametr to „ARR”, który jest podaną tablicą, do której chcemy zastosować funkcję. Podczas gdy „*args” i „*kwargs” to dodatkowe argumenty, które nie są konieczne do dodania.

Przykład 1:

Przechodząc do lepszego zrozumienia metod „zastosowania”, wykonujemy przykład, aby sprawdzić działanie metod stosowania. W tym przypadku wykonujemy funkcję „Apply_along_Axis”. Przejdźmy do naszego pierwszego kroku. Najpierw dołączamy nasze biblioteki Numpy jako NP. A następnie tworzymy tablicę o nazwie „ARR”, która zawiera matrycę 3 × 3 z wartościami całkowitymi, które wynoszą „8, 1, 7, 4, 3, 9, 5, 2 i 6”. W następnym wierszu tworzymy zmienną o nazwie „tablica”, która jest odpowiedzialna za utrzymanie wyniku funkcji Apply_Along_Axis.

Do tej funkcji przekazujemy trzy argumenty. Pierwsza to funkcja, którą chcemy zastosować do tablicy, w naszym przypadku jest to funkcja posortowana, ponieważ chcemy, aby nasza tablica została sortowana. Następnie przekazujemy drugi argument „1”, co oznacza, że ​​chcemy pokroić naszą tablicę wzdłuż osi = 1. Laslty, mijamy tablicę, która ma zostać sortowana w tym przypadku. Na końcu kodu po prostu drukujemy obie tablice - oryginalną tablicę, a także wynikową tablicę - wyświetlane za pomocą instrukcji print ().

importować Numpy jako NP
ARR = NP.tablica ([[8,1,7], [4,3,9], [5,2,6]]))
array = np.Apply_Along_Axis (posortowany, 1, ARR)
Drukuj („Oryginalna tablica to:”, ARR)
druk („posortowana tablica to:”, tablica)

Jak widać na następujących wyjściach, wyświetliśmy obie tablice. W pierwszym wartości są losowo umieszczane w każdym rzędzie matrycy. Ale w drugim możemy zobaczyć posortowaną tablicę. Odkąd minęliśmy oś „1”, nie posortowało kompletnej tablicy, ale sortowało ją pod względem wiary. Każdy wiersz jest sortowany. Pierwszy rząd w danej tablicy to „8, 1 i 7”. Podczas sortowanej tablicy pierwszy rząd to „1, 7 i 8”. Tak samo jak to, każdy wiersz jest sortowany.

Metoda 2: Zastosuj na osi

Numpy.Apply_over_axes (func, a, osie)

W danej składni mamy Numpy.Apply_over_Axis Funkcja odpowiedzialna za zastosowanie funkcji na danej osi. Wewnątrz funkcji Apply_Over_Axis przekazujemy trzy argumenty. Pierwszy to funkcja, którą należy wykonać. Drugi to sam tablica. A ostatnia to oś, na której chcemy zastosować funkcję.

Przykład 2:

W poniższym przypadku wykonujemy drugą metodę funkcji „Zastosuj”, w której obliczamy sumę tablicy trójwymiarowej. Należy pamiętać, że suma dwóch tablic nie oznacza, że ​​obliczamy całą tablicę. W niektórych tablicach obliczamy sumę rzędową, co oznacza, że ​​dodajemy wiersze i wyciągamy z nich jeden element.

Przejdźmy do naszego kodu. Najpierw importujemy pakiet Numpy, a następnie tworzymy zmienną, która utrzymuje trójwymiarową tablicę. W naszym przypadku zmienna to „ARR”. W następnym wierszu tworzymy inną zmienną, która utrzymuje wynikową tablicę Funkcji Apply_Over_Axis. Przypisujemy funkcję Apply_Over_Axis do zmiennej „ARR” z trzema argumentami. Pierwszym argumentem jest wbudowana funkcja Numpy do obliczenia suma, jaką jest NP.suma. Drugi parametr to sama tablica. Trzecim argumentem jest oś, na której zastosowano funkcję, w tym przypadku mamy osę „[0, 2]”. Na końcu kodu wykonujemy obie tablice za pomocą instrukcji print ().

importować Numpy jako NP
ARR = NP.tablica ([[[6, 12, 2], [2, 9, 6], [18, 0, 10]],
[[12, 7, 14], [2, 17, 18], [0, 21, 8]]))
array = np.Apply_over_axes (NP.suma, arr, [0,2])
Drukuj („Oryginalna tablica to:”, ARR)
wydruku („Suma tablicy to:”, tablica)

Jak pokazano na poniższym rysunku, obliczyliśmy niektóre z naszych trójwymiarowych tablic za pomocą funkcji Apply_Over_Axis. Pierwsza wyświetlana tablica to oryginalna tablica o kształcie „2, 3, 3”, a drugi to suma wierszy. Suma pierwszego rzędu to „53”, druga to „54”, a ostatnia to „57”.

Wniosek

W tym artykule zbadaliśmy, w jaki sposób funkcja zastosowania jest używana w Numpy i jak możemy zastosować różne funkcje na tablicach wzdłuż lub nad osą. Łatwo jest zastosować dowolną funkcję w żądanym wierszu lub kolumnie poprzez krojenie ich za pomocą metod „Zastosuj” dostarczone przez Numpy. Jest to skuteczny sposób, gdy nie musimy stosować go do całej tablicy. Mamy nadzieję, że ten post będzie korzystny w nauce, jak korzystać z metody zastosowania.