NumPy Ściąga (Cheat Sheet)
System NumPy to otwarte rozszerzenie do obliczeń numerycznych dla języka Python. Narzędzie to może być używane do przechowywania i przetwarzania dużych macierzy, co jest znacznie wydajniejsze niż własna struktura list zagnieżdżonych Pythona (która może być również używana do reprezentowania macierzy).
Wyjaśnienie
Użyj arr do reprezentowania obiektu tablicy numpy.
Import modułu
import numpy as npImport/Eksport
| np.loadtxt(‘file.txt’) | Odczyt z pliku tekstowego |
| np.genfromtxt(‘file.csv’,delimiter=’,’) | Odczyt z pliku CSV |
| np.savetxt(‘file.txt’,arr,delimiter=’ ‘) | Zapis do pliku tekstowego |
| np.savetxt(‘file.csv’,arr,delimiter=’,’) | Zapis do pliku CSV |
Tworzenie tablicy
| np.array([1,2,3]) | Tablica 1D |
| np.array([(1,2,3),(4,5,6)]) | Tablica 2D |
| np.zeros(3) | Tablica 1D o długości 3 wypełniona zerami |
| np.ones((3,4)) | Tablica 3x4 z samymi jedynkami |
| np.eye(5) | Tablica 5x5 z jedynkami na przekątnej i zerami poza nią (macierz jednostkowa) |
| np.linspace(0,100,6) | Tablica 6 wartości równomiernie rozmieszczonych od 0 do 100 |
| np.arange(0,10,3) | Tablica wartości od 0 do mniej niż 10 z krokiem 3 (np. [0,3,6,9]) |
| np.full((2,3),8) | Tablica 2x3 z samymi ósemkami |
| np.random.rand(4,5) | Tablica 4x5 losowych liczb zmiennoprzecinkowych z zakresu 0-1 |
| np.random.rand(6,7)*100 | Tablica 6x7 losowych liczb zmiennoprzecinkowych z zakresu 0-100 |
| np.random.randint(5,size=(2,3)) | Tablica 2x3 z losowymi liczbami całkowitymi z zakresu 0-4 |
Sprawdzanie właściwości
| arr.size | Zwraca całkowitą liczbę elementów tablicy |
| arr.shape | Zwraca wymiary tablicy |
| arr.dtype | Zwraca typ elementów w tablicy |
| arr.astype(dtype) | Konwertuje typ elementów tablicy na dtype |
| arr.tolist() | Konwertuje tablicę na listę |
| np.info(np.eye) | Wyświetla dokumentację dla np.eye |
Kopiowanie/Sortowanie/Zmiana kształtu
| np.copy(arr) | Kopiuje arr do nowej pamięci |
| arr.view(dtype) | Tworzy widok elementów arr z typem dtype |
| arr.sort() | Sortuje arr |
| arr.sort(axis=0) | Sortuje konkretną oś tablicy |
| two_d_arr.flatten() | Spłaszcza tablicę 2D do 1D |
| arr.T | Transponuje arr (wiersze stają się kolumnami i na odwrót) |
| arr.reshape(3,4) | Zmienia kształt arr na 3 wiersze, 4 kolumny bez zmiany danych |
| arr.resize((5,6)) | Zmienia kształt arr na 5x6 i wypełnia nowe wartości zerami |
Dodawanie/Usuwanie elementów
| np.append(arr,values) | Dołącza wartości na koniec arr |
| np.insert(arr,2,values) | Wstawia wartości do arr przed indeksem 2 |
| np.delete(arr,3,axis=0) | Usuwa wiersz o indeksie 3 w arr |
| np.delete(arr,4,axis=1) | Usuwa kolumnę o indeksie 4 w arr |
Łączenie/Dzielenie
| np.concatenate((arr1,arr2),axis=0) | Dodaje arr2 jako wiersze na koniec arr1 |
| np.concatenate((arr1,arr2),axis=1) | Dodaje arr2 jako kolumny na koniec arr1 |
| np.split(arr,3) | Dzieli arr na 3 podtablice |
| np.hsplit(arr,5) | Dzieli arr poziomo na 5-tym indeksie |
Indeksowanie/Slicing/Tworzenie podzbiorów
| arr[5] | Zwraca element o indeksie 5 |
| arr[2,5] | Zwraca element tablicy 2D o indeksie [2][5] |
| arr[1]=4 | Przypisuje elementowi tablicy o indeksie 1 wartość 4 |
| arr[1,3]=10 | Przypisuje elementowi tablicy o indeksie [1][3] wartość 10 |
| arr[0:3] | Zwraca elementy o indeksach 0,1,2 (W tablicy 2D: zwraca wiersze 0,1,2) |
| arr[0:3,4] | Zwraca elementy w wierszach 0,1,2 w kolumnie 4 |
| arr[:2] | Zwraca elementy o indeksach 0,1 (W tablicy 2D: zwraca wiersze 0,1) |
| arr[:,1] | Zwraca elementy o indeksie 1 we wszystkich wierszach |
| arr<5 | Zwraca tablicę z wartościami logicznymi |
| (arr1<3) & (arr2>5) | Zwraca tablicę z wartościami logicznymi |
| ~arr | Neguje tablicę logiczną |
| arr[arr<5] | Zwraca elementy tablicy mniejsze niż 5 |
Matematyka skalarna
| np.add(arr,1) | Dodaje 1 do każdego elementu tablicy |
| np.subtract(arr,2) | Odejmuje 2 od każdego elementu tablicy |
| np.multiply(arr,3) | Mnoży każdy element tablicy przez 3 |
| np.divide(arr,4) | Dzieli każdy element tablicy przez 4 (zwraca np.nan przy dzieleniu przez zero) |
| np.power(arr,5) | Podnosi każdy element tablicy do potęgi 5 |
Matematyka wektorowa
| np.add(arr1,arr2) | Dodaje arr2 do arr1 element po elemencie |
| np.subtract(arr1,arr2) | Odejmuje arr2 od arr1 element po elemencie |
| np.multiply(arr1,arr2) | Mnoży arr1 przez arr2 element po elemencie |
| np.divide(arr1,arr2) | Dzieli arr1 przez arr2 element po elemencie |
| np.power(arr1,arr2) | Podnosi elementy arr1 do potęgi elementów arr2 |
| np.array_equal(arr1,arr2) | Zwraca True, jeśli tablice mają te same elementy i kształt |
| np.sqrt(arr) | Pierwiastek kwadratowy każdego elementu w tablicy |
| np.sin(arr) | Sinus każdego elementu w tablicy |
| np.log(arr) | Logarytm naturalny każdego elementu w tablicy |
| np.abs(arr) | Wartość bezwzględna każdego elementu w tablicy |
| np.ceil(arr) | Zaokrągla w górę do najbliższej liczby całkowitej |
| np.floor(arr) | Zaokrągla w dół do najbliższej liczby całkowitej |
| np.round(arr) | Zaokrągla do najbliższej liczby całkowitej |
Statystyka
| np.mean(arr,axis=0) | Zwraca średnią wzdłuż konkretnej osi |
| arr.sum() | Zwraca sumę arr |
| arr.min() | Zwraca minimalną wartość arr |
| arr.max(axis=0) | Zwraca maksymalną wartość konkretnej osi |
| np.var(arr) | Zwraca wariancję tablicy |
| np.std(arr,axis=1) | Zwraca odchylenie standardowe konkretnej osi |
| arr.corrcoef() | Zwraca współczynnik korelacji tablicy |