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):

image.png

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.

image.png
image.png

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:

image.png

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

image.png

De asemenea, puteți amesteca indexarea cu numere cu indexarea feliilor.

Puteti folosi liste si array pentru indexare

image.png

Puteti folosi si tablouri cu variabile boolean

Tipuri de date

Nan

Operatii matematice

Se efectuiaza operatiile element cu element

image.png

operatii pe axe

image.png

Functii/Metode utile

numpy.arange

image.png

numpy.reshape - schimba forma taboului

image.png

numpy.pad() - adauga elemente la sfarsitul tabloului

numpy.concatinate - uneste 2 sau mai multe tabouri

image.png

numpy.amax - calculeaza valoare maxima din tablou

image.png
image.png

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

resurse

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

image.png

Matrice transpusa

image.png

Last updated