NumPy masyvų pagrindai
NumPy reiškia Numerical Python. Tai Python biblioteka, naudojama darbui su masyvu. Python sistemoje naudojame masyvo sąrašą, tačiau jis apdorojamas lėtai. NumPy masyvas yra galingas N matmenų masyvo objektas ir naudojamas tiesinės algebros, Furjė transformacijos ir atsitiktinių skaičių galimybėse. Tai suteikia masyvo objektą daug greičiau nei tradiciniai Python sąrašai.
Masyvo tipai:
- Vienmatis masyvas
- Daugiamatis masyvas
Vienmatis masyvas:
Vienmatis masyvas yra linijinio masyvo tipas.
Vienmatis masyvas
Pavyzdys:
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)
Išvestis:
List in python : [1, 2, 3, 4] Numpy Array in python : [1 2 3 4]
Patikrinkite sąrašo ir masyvo duomenų tipą:
Python3 print(type(list_1)) print(type(sample_array))
Išvestis:
Daugiamatis masyvas:
Duomenys daugiamačiuose masyvuose saugomi lentelės pavidalu.
Dviejų dimensijų masyvas
Pavyzdys:
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) Išvestis:
Numpy multi dimensional array in python [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Pastaba: naudoti [ ] operatoriai viduje numpy.array(), skirti daugiamačiams
Masyvo anatomija:
1. Ašis: Masyvo ašis apibūdina indeksavimo į masyvą tvarką.
0 ašis = vieno matmens
1 ašis = dvimatis
2 ašis = trimatis
2. Forma: Elementų skaičius kartu su kiekviena ašimi. Tai iš eilės.
Pavyzdys:
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) Išvestis:
Numpy array : [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Shape of the array : (3, 4)
Pavyzdys:
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) Išvestis:
shape of the array : (5, 3)
3. Reitingas: Masyvo rangas yra tiesiog jo turimų ašių (arba matmenų) skaičius.
Vienmatis masyvas turi 1 rangą.
1 vieta
Dvimatis masyvas turi 2 rangą.
2 reitingas
4. Duomenų tipo objektai (dtype): Duomenų tipo objektai (dtype) yra egzempliorius numpy.dtype klasė. Jame aprašoma, kaip turėtų būti interpretuojami fiksuoto dydžio atminties bloko baitai, atitinkantys masyvo elementą.
Pavyzdys:
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) Išvestis:
Data type of the array 1 : int32 Data type of array 2 : float64
Kai kurie skirtingi „Numpy Array“ kūrimo būdai:
1. numpy.array() : Numpy masyvo objektas Numpy vadinamas ndarray. Mes galime sukurti ndarray naudodami numpy.array() funkcija.
Sintaksė: numpy.masyvas(parametras)
Pavyzdys:
Python3 # import module import numpy as np #creating a array arr = np.array([3,4,5,5]) print('Array :',arr) Išvestis:
Array : [3 4 5 5]
2. numpy.fromiter() : Funkcija fromiter() sukuria naują vienmatį masyvą iš kartojamo objekto.
Sintaksė: numpy.fromiter(iterable, dtype, count=-1)
1 pavyzdys:
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) Išvestis:
fromiter() masyvas: [ 0. 1. 4. 9. 16. 25. 36. 49.]
2 pavyzdys:
Python3 import numpy as np var = 'Geekforgeeks' arr = np.fromiter(var, dtype = 'U2') print('fromiter() array :', arr) Išvestis:
fromiter() masyvas : ['G' 'e' 'e' 'k' 'f' 'o' 'r' 'g' 'e' 'e' 'k' 's']
3. numpy.arange() : Tai yra integruota NumPy funkcija, kuri grąžina tolygiai išdėstytas reikšmes per tam tikrą intervalą.
Sintaksė: numpy.arange([pradžia, ]stop, [žingsnis, ]dtype=nėra)
Pavyzdys:
Python3 import numpy as np np.arange(1, 20 , 2, dtype = np.float32)
Išvestis:
masyvas([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace() : Ši funkcija grąžina tolygiai išdėstytus skaičius per nurodytą tarp dviejų ribų.
Sintaksė: numpy.linspace(pradžia, pabaiga, skaičius = 50, pabaigos taškas = tiesa, retstep = klaidingas, dtype = nėra, ašis = 0)
1 pavyzdys:
Python3 import numpy as np np.linspace(3.5, 10, 3)
Išvestis:
array([ 3.5 , 6.75, 10. ])
2 pavyzdys:
Python3 import numpy as np np.linspace(3.5, 10, 3, dtype = np.int32)
Išvestis:
array([ 3, 6, 10])
5. numpy.empty() : Ši funkcija sukuria naują nurodytos formos ir tipo masyvą, neinicijuodama reikšmės.
Sintaksė: numpy.empty(forma, dtype=float, order='C')
Pavyzdys:
Python3 import numpy as np np.empty([4, 3], dtype = np.int32, order = 'f')
Išvestis:
array([[ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11], [ 4, 8, 12]])
6. numpy.onees(): Ši funkcija naudojama norint gauti naują nurodytos formos ir tipo masyvą, užpildytą vienais (1).
Sintaksė: numpy.ones(forma, dtype=nėra, order='C')
Pavyzdys:
Python3 import numpy as np np.ones([4, 3], dtype = np.int32, order = 'f')
Išvestis:
array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
7. numpy.zeros() : Ši funkcija naudojama norint gauti naują nurodytos formos ir tipo masyvą, užpildytą nuliais (0).
Sintaksė: numpy.ones(forma, dtype=nėra)
Pavyzdys:
Python3 import numpy as np np.zeros([4, 3], dtype = np.int32, order = 'f')
Išvestis:
array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])