Numpy
Numpy
Ce este Numpy?
Numpy este cea mai populara biblioteca(o colecție de clase, module si funcții) pentru calcul științific în Python. Oferă un obiect matricial multidimensional de înaltă performanță și instrumente pentru lucrul cu aceste obiecte.
exemple(imagini):
deep learning
molecular dymanic

Oviective:
Înțelegeți diferența dintre tablouri(arrays) de dimeniunile unu, două și n-dimensionale în NumPy;
Înțelegeți cum să aplicați unele operații de algebră liniară pe tabourile n-dimensionale fără a utiliza bucle/cicluri;
Înțelegeți proprietățile axei și formei pentru tablourile n-dimensionale.
Obiectul principal al NumPy este tabloul multidimensional. Este un tabel de elemente (de obicei numere), toate de același tip, indexate de un tuple de numere întregi non-negative. Dimensiunile unui tablou se numesc axe.
De exemplu, coordonatele unui punct din spațiul 3D [1, 2, 1] au o axă. Acea axă are 3 elemente în ea, deci spunem că are o lungime de 3. În exemplul ilustrat mai jos, tabloul are 2 axe. Prima axa are o lungime de 2, a doua axa are o lungime de 3.


Proprietati
Clasa de matrice NumPy se numește ndarray. Atributele mai importante ale unui obiect ndarray sunt:
ndarray.ndim
numărul de axe (dimensiuni) ale tabloului.
ndarray.shape
dimensiunile tabloului. Acesta este un tuple de numere întregi care indică dimensiunea tabloului în fiecare dimensiune. Pentru o matrice cu n rânduri și m coloane, forma va fi (n, m). Lungimea tuplei de formă este, prin urmare, numărul axelor, ndim.
ndarray.size
numărul total de elemente ale tabloului. Aceasta este egală cu produsul elementelor de formă.
ndarray.dtype
un obiect care descrie tipul elementelor din tablou. Se poate crea sau specifica tipul de tip folosind tipurile Python standard. În plus, NumPy oferă tipuri proprii. numpy.int32, numpy.int16 și numpy.float64 sunt câteva exemple.
ndarray.itemsize
dimensiunea în octeți a fiecărui element al tabloului. De exemplu, o serie de elemente de tip float64 are dimensiunea de articole 8 (= 64/8), în timp ce una de tip complex32 are dimensiunea articolelor 4 (= 32/8). Este echivalent cu ndarray.dtype.itemsize.
ndarray.data
bufferul care conține elementele reale ale tabloului. În mod normal, nu va trebui să folosim acest atribut, deoarece vom accesa elementele dintr-un tablou folosind facilități de indexare.
Crearea tablourilor
Putem inițializa matricii numpy din listele de liste Python și accesa elemente folosind paranteze pătrate:

Numpy oferă, de asemenea, multe funcții pentru a crea tablouri:
Indexarea
Similar cu listele Python, tablourile numpy pot fi tăiate. Deoarece tablourile pot fi multidimensionale, trebuie să specificați o felie(slice) pentru fiecare dimensiune a tabloului

De asemenea, puteți amesteca indexarea cu numere cu indexarea feliilor.
Puteti folosi liste si array pentru indexare

Puteti folosi si tablouri cu variabile boolean
Tipuri de date
Nan
Operatii matematice
Se efectuiaza operatiile element cu element

operatii pe axe

Functii/Metode utile
numpy.arange

numpy.reshape - schimba forma taboului

numpy.pad() - adauga elemente la sfarsitul tabloului
numpy.concatinate - uneste 2 sau mai multe tabouri

numpy.amax - calculeaza valoare maxima din tablou


numpy.argmax - calculeaza index-ul la valoarea maxima din tablou
numpy mean, median - calculeaza valoarea mediana/media din tablou
numpy.astype - face cast, schimba dtype-ul
numpy.linspace - creaza un array cu valori in intervale egale
np.random.choice
numpy.round - seteaza valoarea la cel mai apropiat intreg
salvare/citirea din fisier folosind numpy
Exercitii:
creati o matrice cu valori de la 0 la 24 cu forma (6,4)
selectati prima coloana din taboul a
Board Game Data
citesc cu csv si fac liste apoi array
Acest set de date conține 200 de cărți(rânduri) și 13 coloane pe care le puteți vedea mai jos.
Mai jos aveți o funcție care iterează printr-o listă de liste și numără intr-o coloană cate valori de același fel sunt, rezultatele stocându-le într-un dicționar. Intr-un final funcția va returna un dicționar cu cheile sortate în ordine numerică sau alfabetică crescătoare.
Mai jos vedeti o variatie a functiei, care mai adauga niste parametri pentru a extrage o felie din setul de date, si mai multe coloane
Exercitii:
care este numarul randului cu cartea cea mai veche?
Care este rating-ul mediu pentru cartile publicate dupa anii 2000?
Care este rating-ul maxim pentru cartile publicate dupa anii 2000?
Care este rating-ul maxim pentru cartile publicate inainte de anii 2000?
Teme avansate
Broadcasting
Operatii matematice avansate: inmultirea matricelor

Matrice transpusa

Last updated