Osnove nizov NumPy
NumPy kratica za numerični Python. Je knjižnica Python, ki se uporablja za delo z nizom. V Pythonu uporabljamo seznam za matriko, vendar je obdelava počasna. Matrika NumPy je močan N-dimenzionalni matrični objekt in se uporablja v linearni algebri, Fourierjevi transformaciji in zmožnostih naključnih števil. Zagotavlja matrični objekt veliko hitreje kot tradicionalni seznami Python.
Vrste nizov:
- Enodimenzionalni niz
- Večdimenzionalni niz
Enodimenzionalni niz:
Enodimenzionalni niz je vrsta linearnega niza.
Enodimenzionalni niz
primer:
Python3 # importing numpy module import numpy as np # creating list list = [1, 2, 3, 4] # creating numpy array sample_array = np.array(list) print('List in python : ', list) print('Numpy Array in python :', sample_array)
Izhod:
List in python : [1, 2, 3, 4] Numpy Array in python : [1 2 3 4]
Preverite vrsto podatkov za seznam in matriko:
Python3 print(type(list_1)) print(type(sample_array))
Izhod:
Večdimenzionalni niz:
Podatki v večdimenzionalnih nizih so shranjeni v obliki tabele.
Dvodimenzionalni niz
primer:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy multi dimensional array in python
', sample_array) Izhod:
Numpy multi dimensional array in python [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Opomba: uporaba [ ] operatorji znotraj numpy.array() za večdimenzionalne
Anatomija niza:
1. Os: Os matrike opisuje vrstni red indeksiranja v matriki.
Os 0 = enodimenzionalno
Os 1 = dvodimenzionalno
Os 2 = tridimenzionalno
2. Oblika: Število elementov skupaj z vsako osjo. Je iz tuple.
primer:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy array :') print(sample_array) # print shape of the array print('Shape of the array :', sample_array.shape) Izhod:
Numpy array : [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Shape of the array : (3, 4)
primer:
Python3 import numpy as np sample_array = np.array([[0, 4, 2], [3, 4, 5], [23, 4, 5], [2, 34, 5], [5, 6, 7]]) print('shape of the array :', sample_array.shape) Izhod:
shape of the array : (5, 3)
3. Uvrstitev: Rang matrike je preprosto število osi (ali dimenzij), ki jih ima.
Enodimenzionalni niz ima rang 1.
1. mesto
Dvodimenzionalni niz ima rang 2.
2. mesto
4. Objekti podatkovnega tipa (dtype): Objekti podatkovnega tipa (dtype) so primerek numpy.dtype razred. Opisuje, kako je treba interpretirati bajte v bloku pomnilnika s fiksno velikostjo, ki ustreza elementu matrike.
primer:
Python3 # Import module import numpy as np # Creating the array sample_array_1 = np.array([[0, 4, 2]]) sample_array_2 = np.array([0.2, 0.4, 2.4]) # display data type print('Data type of the array 1 :', sample_array_1.dtype) print('Data type of array 2 :', sample_array_2.dtype) Izhod:
Data type of the array 1 : int32 Data type of array 2 : float64
Nekaj drugačnega načina ustvarjanja Numpy Array:
1. numpy.array() : Objekt Numpy array v Numpy se imenuje ndarray. ndarray lahko ustvarimo z uporabo numpy.array() funkcijo.
Sintaksa: numpy.array(parameter)
primer:
Python3 # import module import numpy as np #creating a array arr = np.array([3,4,5,5]) print('Array :',arr) Izhod:
Array : [3 4 5 5]
2. numpy.fromiter() : Funkcija fromiter() ustvari novo enodimenzionalno matriko iz ponovljivega predmeta.
Sintaksa: numpy.fromiter(iterable, dtype, count=-1)
Primer 1:
Python3 #Import numpy module import numpy as np # iterable iterable = (a*a for a in range(8)) arr = np.fromiter(iterable, float) print('fromiter() array :',arr) Izhod:
matrika fromiter(): [ 0. 1. 4. 9. 16. 25. 36. 49.]
Primer 2:
Python3 import numpy as np var = 'Geekforgeeks' arr = np.fromiter(var, dtype = 'U2') print('fromiter() array :', arr) Izhod:
fromiter() niz: ['G' 'e' 'e' 'k' 'f' 'o' 'r' 'g' 'e' 'e' 'k' 's']
3. numpy.arange() : To je vgrajena funkcija NumPy, ki vrne enakomerno razporejene vrednosti v danem intervalu.
Sintaksa: numpy.arange([start, ]stop, [step, ]dtype=None)
primer:
Python3 import numpy as np np.arange(1, 20 , 2, dtype = np.float32)
Izhod:
matrika ([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace() : Ta funkcija vrne enakomerno razporejena števila nad določeno med dvema mejama.
Sintaksa: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
Primer 1:
Python3 import numpy as np np.linspace(3.5, 10, 3)
Izhod:
array([ 3.5 , 6.75, 10. ])
Primer 2:
Python3 import numpy as np np.linspace(3.5, 10, 3, dtype = np.int32)
Izhod:
array([ 3, 6, 10])
5. numpy.empty() : Ta funkcija ustvari novo matriko dane oblike in vrste brez inicializacije vrednosti.
Sintaksa: numpy.empty(shape, dtype=float, order='C')
primer:
Python3 import numpy as np np.empty([4, 3], dtype = np.int32, order = 'f')
Izhod:
array([[ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11], [ 4, 8, 12]])
6. numpy.ones(): Ta funkcija se uporablja za pridobitev nove matrike dane oblike in vrste, napolnjene z enicami (1).
Sintaksa: numpy.ones(shape, dtype=None, order='C')
primer:
Python3 import numpy as np np.ones([4, 3], dtype = np.int32, order = 'f')
Izhod:
array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
7. numpy.zeros() : Ta funkcija se uporablja za pridobitev nove matrike dane oblike in vrste, napolnjene z ničlami (0).
Sintaksa: numpy.ones(oblika, dtype=Brez)
primer:
Python3 import numpy as np np.zeros([4, 3], dtype = np.int32, order = 'f')
Izhod:
array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])