Ściągawka NumPy
Potrzebujesz więc szybkiego spojrzenia na NumPy, które pozwoli Ci pracować w praktyce? Ten artykuł jest właśnie tym, czego potrzebujesz!

Rozpoczęcie pracy
NumPy to naukowy pakiet obliczeniowy w Pythonie. Zawiera predefiniowane funkcje dla algebry liniowej, transformacji Fouriera i macierzy. NumPy jest zwykle używany w aplikacjach Data Science.
Aby rozpocząć, najpierw upewnij się, że masz w systemie Python i NumPy. Sposób, w jaki to zrobisz, zależy od twojego systemu i preferowanego IDE, ale polecam Anacondę. Dzięki podstawowej instalacji Anacondy możesz po prostu przejść do terminala i uruchomić „conda install numpy” i voila!
Teraz utwórzmy plik example.py , z którym będziemy mogli rozpocząć pracę.
Uwaga: gdybyśmy mieli stworzyć projekt zamiast pojedynczego przykładowego pliku do pracy, musielibyśmy po prostu utworzyć katalog i znajdujący się w nim plik __init__.py .
Powinieneś dodać następujący wiersz na początku pliku, aby móc pracować z NumPy w pliku.
importuj numpy jako np
Uwaga: generalnie importujemy go jako np, abyśmy nie musieli wpisywać numpy za każdym razem, gdy wywołujemy funkcję z NumPy. Pamiętaj, że chociaż można to zmienić, np jest ogólną konwencją.
Następnie możesz uruchomić kod w przykładowym pliku, po prostu przechodząc do terminala i uruchamiając polecenie:
python przykład.py
Lista kontra tablica
Będziemy często używać tablic w naszych operacjach NumPy, więc lepiej wyjaśnić jedną rzecz: listy i tablice różnią się w Pythonie.
Za pomocą tablic można deklarować struktury wielowymiarowe, takie jak macierze, i wykonywać w nich operacje numeryczne, ale nie dotyczy to prostych starych list. Dlatego NumPy w dużej mierze opiera się na tablicach.
Listy mogą być przypisane do wartości bez konieczności ich deklarowania, ale tablice nie. Aby więc zdefiniować tablicę, musisz wykonać następujące czynności:
exampleArray = np.arrray([10, 15, 20]) // jednowymiarowa tablica
Lub możesz zdefiniować tablicę wielowymiarową jako:
przykładTablica2 = np.tablica([10, 15, 20], [50, 100, 150], [1, 2, 3])
Możesz wywoływać elementy w tablicy jako:
przykładTablica2 [1] // zwraca [50, 100, 150]
przykładTablica2 [1] [0]// zwraca 50
Metody
Poniżej znajdziesz najbardziej podstawowe funkcje, które są powszechnie używane podczas pracy z NumPy. Chociaż jest ich wiele, o wiele więcej, poniższe wystarczą, aby zacząć.
Metody tworzenia macierzy
- np.arange(0, 10): Tworzy jednowymiarową tablicę z liczbami od 0 do 9 jako elementami.
- np.arange(0, 10, 3): Tworzy jednowymiarową tablicę z liczbami od 0 do 10 przeskakującymi co trzecią. Zwraca tablicę z elementami 0,3,6,9.
- np.zeros(3): Tworzy tablicę składającą się z 3 elementów z wartością 0 dla każdego elementu.
- np.ones(3): Tworzy tablicę składającą się z 3 elementów z wartością 1 dla każdego elementu.
- np.linspace(0,20,5): Bierze 5 liczb od 0 do 20 z równymi krokami pomiędzy nimi. Zwraca tablicę elementów 0, 5, 10, 15, 20. Pamiętaj, że gdybyśmy powiedzieli, że wybierz 6 elementów, elementy byłyby zmiennoprzecinkowe zamiast liczb całkowitych, aby zapewnić równe odstępy między nimi.
- np.eye(3): Tworzy macierz tożsamości z 3 kolumnami i 3 wierszami. Wartości ukośne zwracają wszystkie 1, a wszystkie inne wartości zwracają 0.
- np.random.randn(5): Tworzy jednowymiarową tablicę z 5 liczbami losowymi jako elementami. Liczby mogą być typu całkowitego i/lub zmiennoprzecinkowego, ujemne i/lub dodatnie.
- np.random.randn(5,5): Tworzy macierz z 5 wierszami i 5 kolumnami z 25 losowymi wartościami jako elementami.
- np.random.randint(1, 10, 2): Zwraca dwie liczby losowe, które są większe niż 1 i mniejsze niż 10.
- myArray.reshape(5,5): Pobiera jednowymiarową tablicę o nazwie myArray i zwraca ją jako macierz z 5 wierszami i 5 kolumnami. Pamiętaj, że jeśli w tablicy nie ma wystarczającej liczby elementów, w przykładowym przypadku 5 x 5 = 25 elementów, spowoduje to błąd i nie zadziała. Ta metoda nie zmieni samej tablicy, ale po prostu zwróci zmienioną wersję tablicy.
- myArray.max(): Zwraca największą liczbę spośród elementów tablicy liczbowej.
- myArray.min(): Zwraca najmniejszą liczbę spośród elementów tablicy liczbowej.
- myArray.argmax(): Zwraca indeks największej liczby w elementach tablicy liczb.
- myArray.argmin(): Zwraca indeks najmniejszej liczby w elementach tablicy liczb.
- myArray.shape: Zwraca kształt tablicy. Jeśli tablica jest jednowymiarowa i zawiera 10 elementów, zwróci (10, ). Jeśli tablica jest macierzą składającą się z 5 kolumn i 6 wierszy, zwróci (5,6). Pamiętaj, że nie jest to funkcja, ale atrybut, więc nie ma nawiasów podczas wywoływania kształtu.
- myArray[5]: Zwraca element z tablicy o numerze indeksu 5
- myArray[3:5]: Zwraca elementy o numerach indeksu od 3 do 5, w tym element o indeksie 3, ale bez indeksu 5.
- myArray[3:5] = -3: Zmienia wartość elementów między indeksami 3 i 5 na -3.
- myArray[:] = 30: Zmienia wartość wszystkich elementów w tablicy na 30 jeden po drugim.
- myArray = 30: Zmienia typ tablicy myArray z tablicy na liczbę całkowitą i ustawia jej wartość na 30.
- newArray = myArray.copy(): Tworzy kopię myArray i ustawia ją na newArray. Zauważ, że gdybyś nie użył metody .copy() , zobaczyłbyś, że wszystkie zmiany wprowadzone w tablicy newArray odzwierciedlają się również w tablicy myArray.
Zadeklarujmy macierz jako myMatrix = ( [5, 10, 15] , [1, 2, 3] , [0, 0, 0] ).
- myMatrix[0]: Zwraca element z indeksem wiersza 0, który jest tablicą. Dlatego zwraca [5, 10, 15].
- myMatrix[0] [1]: Zwraca element z indeksem kolumny 1 i indeksem wiersza 0, więc w tym przypadku zwraca wartość 10.
- myMatrix[0,1]: Zwraca element z indeksem kolumny 1 i indeksem wiersza 0, więc w tym przypadku zwraca wartość 10.
- myMatrix[1, 1:]: Pobiera wiersz z indeksem 1 jak zwykle, ale zwraca elementy z indeksami kolumn zaczynającymi się od 1 (w tym 1, ponieważ splice zawsze działa z Pythonem), więc w tym przypadku zwraca [2, 3].
- myMatrix[[0,1] ]: Zwraca wartość indeksów 0 i 1, czyli w naszym przypadku zwraca ( [5, 10, 15] , [1, 2, 3] ).
Zdefiniujmy tablicę myArray do pracy jako myArray = [ 5,10,15,20]
- myArray > 10: Zwraca tablicę prawdziwych i fałszywych, sądząc po warunku, więc w naszym przypadku zwraca [false, false, true, true]. Zauważ, że tihs nie zmienia oryginalnej wartości myArray, ale zamiast tego tworzy nową awway.
- mojaTablica [mojaTablica > 10]: Zwraca nową tablicę z elementami, które faktycznie spełniają warunek [15, 20].
- myArray + myArray: Zwraca tablicę, w której wartości są sumowane indeks po indeksie i umieszczane w odpowiednim indeksie, w naszym przypadku zwraca [10, 20, 30, 40].
- myArray — myArray: Zwraca tablicę, w której wartości są odejmowane indeks po indeksie i umieszczane w odpowiednim indeksie, w naszym przypadku zwraca [0, 0, 0, 0].
- myArray/myArray: Zwraca tablicę, w której wartości są dzielone indeks po indeksie i umieszczane w odpowiednim indeksie, w naszym przypadku zwraca [1,1,1,1]. Zauważ, że gdyby w jakimkolwiek indeksie było 0 jako wartość, ponieważ liczby nie można podzielić przez 0, spowodowałoby to wyświetlenie ostrzeżenia i powrót nan dla tego indeksu, ale pozostałe indeksy zostałyby podzielone jak zwykle.
- np.sqrt(myArray): Zwraca tablicę z pierwiastkiem kwadratowym, jeśli każda wartość ma ten sam indeks. Więc jeśli myArray to [25, 16, 36], funkcja zwróci [ 5, 4, 6].