Samouczek Python Numpy

Samouczek Python Numpy
W tej lekcji na temat biblioteki Python Numpy przyjrzymy się, w jaki sposób ta biblioteka pozwala nam zarządzać potężnymi obiektami tablic N-Dimensional z wyrafinowanymi funkcjami obecnymi do manipulowania i obsługi tych tablic. Aby ukończyć tę lekcję, omówimy następujące sekcje:
  • Co to jest pakiet Python Numpy?
  • Tablice Numpy
  • Różne operacje, które można wykonać nad tablicami Numpy
  • Kilka bardziej specjalnych funkcji

Co to jest pakiet Python Numpy?

Mówiąc najprościej, Numpy oznacza „Python numeryczny” i właśnie to ma się spełnić, aby umożliwić złożone operacje numeryczne wykonywane na obiektach tablicy N-wymiarowej bardzo łatwo i intuicyjnie. Jest to podstawowa biblioteka używana w Obliczenia naukowe, z obecnymi funkcjami w celu wykonywania operacji algebraicznych i operacji statystycznych.

Jedną z najbardziej fundamentalnych (i atrakcyjnych) koncepcji dla Numpy jest użycie przedmiotów tablicy N-wymiarowej. Możemy wziąć tę tablicę jako tylko Zbiór wierszy i kolumny, Podobnie jak plik MS-Excel. Możliwe jest przekonwertowanie listy Python na tablicę Numpy i obsługiwać nad nią funkcje.

Reprezentacja tablicy Numpy

Tylko notatka przed rozpoczęciem używamy wirtualnego środowiska do tej lekcji, którą wykonaliśmy za pomocą następującego polecenia:

Python -m Virtualenv Numpy
Źródło Numpy/Bin/Aktywuj

Po aktywności środowiska wirtualnego możemy zainstalować bibliotekę Numpy w wirtualnej Env, aby można było wykonać przykłady:

PIP Instaluj Numpy

Widzimy coś takiego, kiedy wykonujemy powyższe polecenie:

Szybko sprawdźmy, czy pakiet Numpy został poprawnie zainstalowany z następującym fragmentem krótkiego kodu:

importować Numpy jako NP
A = NP.tablica ([1,2,3])
Drukuj (a)

Po uruchomieniu powyższego programu powinieneś zobaczyć następujące dane wyjściowe:

Możemy również mieć wielowymiarowe tablice z Numpy:

multi_dimension = np.tablica ([(1, 2, 3), (4, 5, 6)]))
print (multi_dimension)

Spowoduje to wyniki takie jak:

[[1 2 3]
[4 5 6]]

Możesz również użyć AnaConda, aby uruchomić te przykłady, które są łatwiejsze i właśnie tego użyliśmy powyżej. Jeśli chcesz zainstalować go na swoim komputerze, spójrz na lekcję opisującą „Jak zainstalować Anaconda Python na Ubuntu 18.04 lts ”i podziel się swoją opinią. Teraz przejdźmy do różnych rodzajów operacji, które można wykonać z tablicami Python Numpy.

Korzystanie z tablic Numpy nad listami Python

Ważne jest, aby zapytać, kiedy Python ma już wyrafinowaną strukturę danych do przechowywania wielu elementów, niż dlaczego w ogóle potrzebujemy tablic Numpy? Tablice Numpy są Preferowane niż listy Python Z następujących powodów:

  • Wygodne w użyciu w operacjach matematycznych i obliczeniowych z powodu obecności kompatybilnych funkcji Numpy
  • Są znacznie szybsze ze względu na sposób przechowywania danych wewnętrznych
  • Mniej pamięci

Pozwól nam Udowodnij, że tablice Numpy zajmują mniej pamięci. Można to zrobić, pisząc bardzo prosty program Python:

importować Numpy jako NP
czas importu
Import Sys
Python_List = zakres (500)
Drukuj (sys.BETIZEOF (1) * len (Python_List)))
numpy_arr = np.Arange (500)
Drukuj (Numpy_ARR.Rozmiar * Numpy_ARR.Przedmioty)

Po uruchomieniu powyższego programu otrzymamy następujące dane wyjściowe:

14000
4000

To pokazuje, że ta sama lista rozmiarów jest Ponad 3 razy pod względem wielkości w porównaniu do tablicy Numpy o tym samym rozmiarze.

Wykonywanie operacji Numpy

W tej sekcji szybko spójrzmy na operacje, które można wykonać na tablicach Numpy.

Znalezienie wymiarów w tablicy

Ponieważ tablica Numpy może być używana w dowolnej przestrzeni wymiarowej do przechowywania danych, możemy znaleźć wymiar tablicy z następującym fragmentem kodu:

importować Numpy jako NP
numpy_arr = np.tablica ([(1,2,3), (4,5,6)])
Drukuj (Numpy_ARR.ndim)

Zobaczymy dane wyjściowe jako „2”, ponieważ jest to tablica 2-wymiarowa.

Znalezienie danych elementów w tablicy

Możemy użyć tablicy Numpy do przechowywania dowolnego typu danych. Dowiedz się teraz typ danych danych, które zawiera tablica:

Inne_arr = np.tablica ([(„awe”, „b”, „cat”)])
Drukuj (Other_ARR.Dtype)
numpy_arr = np.tablica ([(1,2,3), (4,5,6)])
Drukuj (Numpy_ARR.Dtype)

W powyższym fragmencie kodu użyliśmy innego rodzaju elementów. Oto dane wyjściowe, które wyświetli ten skrypt:

INT64

Dzieje się tak, ponieważ postacie są interpretowane jako znaki Unicode, a drugi jest oczywisty.

Przekształcić elementy tablicy

Jeśli tablica Numpy składa się z 2 wierszy i 4 kolumn, można ją przekształcić, aby zawierać 4 wiersze i 2 kolumny. Napiszmy prosty fragment kodu dla tego samego:

oryginał = np.array ([(„1”, „b”, „c”, „4”), („5”, „f”, „g”, „8”)]))
Drukuj (oryginał)
RESHAPAPE = oryginał.Reshape (4, 2)
Drukuj (przekształcony)

Po uruchomieniu powyższego fragmentu kodu otrzymamy następujące dane wyjściowe z drukowanymi na ekranie obu tablic:

[['1' 'b' 'c' '4']
['5' 'f' 'g' '8']]
[['1' 'b']
['c' '4']
['5' 'f']
['g' '8']]

Zwróć uwagę, jak Numpy zajął się zmieniającym i kojarzącym elementy z nowymi wierszami.

Operacje matematyczne na elementach tablicy

Wykonanie operacji matematycznych na elementach tablicy jest bardzo proste. Zaczniemy od napisania prostego fragmentu kodu, aby znaleźć maksimum, minimum i dodanie wszystkich elementów tablicy. Oto fragment kodu:

numpy_arr = np.tablica ([(1, 2, 3, 4, 5)]))
Drukuj (Numpy_ARR.max ())
Drukuj (Numpy_ARR.min ())
Drukuj (Numpy_ARR.suma())
Drukuj (Numpy_ARR.mieć na myśli())
Drukuj (NP.sqrt (numpy_arr))
Drukuj (NP.STD (Numpy_ARR))

W powyższych 2 ostatnich operacjach obliczyliśmy również pierwiastek kwadratowy i odchylenie standardowe każdego elementy tablicy. Powyższy fragment zapewni następujące dane wyjściowe:

5
1
15
3.0
[[1. 1.41421356 1.73205081 2. 2.23606798]]
1.4142135623730951

Przekształcanie list Pythona w tablice Numpy

Nawet jeśli używasz list Python w swoich istniejących programach i nie chcesz zmieniać całego tego kodu, ale nadal chcesz korzystać z tablic Numpy w swoim nowym kodzie, dobrze jest wiedzieć, że możemy łatwo przekonwertować Python Lista do tablicy Numpy. Oto przykład:

# Utwórz 2 nowe listy Wysokość i waga
wysokość = [2.37, 2.87, 1.52, 1.51, 1.70, 2.05]
waga = [91.65, 97.52, 68.25, 88.98, 86.18, 88.45]
# Utwórz 2 tablice Numpy od wysokości i wagi
np_height = np.tablica (wysokość)
np_weight = np.tablica (waga)

Aby sprawdzić, możemy teraz wydrukować typ jednej ze zmiennych:

print (typ (np_height))

A to pokaże:

Możemy teraz wykonywać operacje matematyczne dla wszystkich elementów jednocześnie. Zobaczmy, jak możemy obliczyć BMI ludzi:

# Oblicz BMI
BMI = np_weight / np_height ** 2
# Wydrukuj wynik
Drukuj (BMI)

To pokaże BMI wszystkich ludzi obliczonych elementów:

[16.31682957 11.8394056 29.54033934 39.02460418 29.8200692 21.04699584]

Czy nie jest takie łatwe i przydatne? Możemy nawet łatwo filtrować dane z warunkami zamiast indeksu wewnątrz nawiasów kwadratowych:

BMI [BMI> 25]

To da:

tablica ([29.54033934, 39.02460418, 29.8200692])

Twórz losowe sekwencje i powtórzenia z Numpy

Z wieloma funkcjami obecnymi w Numpy w celu tworzenia losowych danych i ułożenia ich w wymaganej formie, tablice Numpy są wielokrotnie używane do generowania zestawu danych testowych w wielu miejscach, w tym w celach debugowania i testowania. Na przykład, jeśli chcesz utworzyć tablicę od 0 do N, możemy użyć Arange (zwróć uwagę na pojedynczy „R”) jak podany fragment:

Drukuj (NP.Arange (5))

Zwróci to dane wyjściowe jako:

[0 1 2 3 4]

Tę samą funkcję można wykorzystać do zapewnienia niższej wartości, aby tablica rozpoczyna się od innych liczb niż 0:

Drukuj (NP.Arange (4, 12))

Zwróci to dane wyjściowe jako:

[4 5 6 7 8 9 10 11]

Liczby nie muszą być ciągłe, mogą pominąć krok poprawki, taki jak:

Drukuj (NP.Arange (4, 14, 2))

Zwróci to dane wyjściowe jako:

[4 6 8 10 12]

Możemy również uzyskać liczby w kolejności malejącej o wartości ujemnej:

Drukuj (NP.Arange (14, 4, -1))

Zwróci to dane wyjściowe jako:

[14 13 12 11 10 9 8 7 6 5]

Możliwe jest sfinansowanie liczby N między x i y za pomocą równej przestrzeni z metodą Linspace, oto fragment kodu dla tego samego:

NP.Linspace (start = 10, stop = 70, num = 10, dtype = int)

Zwróci to dane wyjściowe jako:

tablica ([10, 16, 23, 30, 36, 43, 50, 56, 63, 70])

Należy pamiętać, że elementy wyjściowe nie są w równym stopniu rozmieszczone. Numpy robi to, aby to zrobić, ale nie musisz na nim polegać, ponieważ jest to zaokrąglanie.

Na koniec przyjrzyjmy się, w jaki sposób możemy wygenerować zestaw losowej sekwencji z Numpy, który jest jedną z najczęściej używanych funkcji do testowania. Przekazamy zakres liczb do Numpy, który będzie używany jako punkt początkowy i końcowy dla liczb losowych:

Drukuj (NP.losowy.Randint (0, 10, rozmiar = [2,2]))

Powyższy fragment tworzy tablicę Numpy 2 na 2 na 2. Oto przykładowe wyjście:

[[0 4]
[8 3]]

UWAGA, ponieważ liczby są losowe, dane wyjściowe mogą różnić się nawet między 2 przebiegami na tym samym komputerze.

Wniosek

W tej lekcji przyjrzeliśmy się różnym aspektom tej biblioteki obliczeniowej, których możemy użyć z Pythonem do obliczania prostych, a także złożonych problemów matematycznych, które mogą pojawić się w różnych przypadkach użycia, które Numpy jest jedną z najważniejszych bibliotek obliczeniowych, w których się pojawia Inżynieria danych i obliczanie liczb, zdecydowanie umiejętność, którą musimy mieć za pasem.

Udostępnij swoją opinię na temat lekcji na Twitterze z @SBMaggarwal i @linuxhint.