Sunteți pe pagina 1din 9

Dictionare Python

În acest curs, vom vorbi despre un nou tip de date Python: dicționarul. Librăriile sunt
foarte de utile în lumea datelor și pentru a vedea acest lucru, sa ne imaginăm
următoarele: lucrăm pentru Banca Mondială și dorim să urmărim populația din fiecare
țară.

Putem pune populațiile într-o listă. Începem cu Afganistan, 30,55 milioane, Albania,
2,77 milioane, Algeria, în jur de 40 milioane și așa mai departe. Pentru a urmări legătura
dintre populații și țări, putem crea o altă listă, cu numele țărilor în aceeași ordine cu
populațiile.

Acum să presupunem că dorim să obținem populația Albaniei. În primul rând, trebuie să


ne dăm seama unde se află în listă Albania, astfel încât să putem folosi această poziție
pentru a obține populația corectă. Ne amintim de metoda .index(), o metodă despre
care am învățat la capitolul Introducere în Python.

Să o folosim pentru a obține indicele Albaniei în lista de țări. Acum, putem folosi acest
index pentru a extrage populația corespunzătoare Albaniei din lista pop.
După cum era de așteptat, obținem 2,77, populația Albaniei în milioane. Deci am
construit două liste și am folosit indexul pentru a conecta elementele corespunzătoare
din ambele liste. A funcționat, dar este o abordare destul de greoaie.

Nu ar fi mai ușor dacă am avea o modalitate de a conecta fiecare țară direct la


populația sa, fără a folosi un index? Aici intervine dictionarul.

Dictionare Python

Să convertim aceste date despre populație într-un dicționar. Am inclus aici listele pentru
a începe de sus, ca să vedem clar ce se întâmplă.

Pentru a crea un dicționar, folosim acoladele. Apoi, în acolade, avem ceea ce se


numește pereche cheie : valoare. În cazul nostru, cheile sunt numele țărilor, iar valorile
sunt populațiile corespunzătoare.
Prima cheie este Afganistan, iar valoarea ei corespunzătoare este 30,55. Observam
cele două puncte care separă cheia și valoarea. Să facem același lucru pentru celelalte
două perechi cheie : valoare și să stocăm dicționarul sub numele world.
Dacă dorim să găsim populația Albaniei, introducem pur și simplu world, apoi string-ul
Albania între paranteze pătrate. Cu alte cuvinte, trecem cheia între paranteze pătrate și
obținem valoarea corespunzătoare.

Această abordare nu este doar intuitivă, ci și foarte eficientă, deoarece Python poate
face căutarea acestor chei foarte rapidă, chiar și pentru librării uriașe.

Anterior am creat dicționarul world, care practic este un set de perechi cheie : valoare.
Putem accesa cu ușurință populația Albaniei, trecând cheia între paranteze drepte.
Pentru ca această căutare să funcționeze corect, cheile dintr-un dicționar ar trebui să fie
unice.

Dacă încercam să adăugăm o altă pereche cheie : valoare cu aceeași cheie, Albania,
de exemplu, vom observa că dicționarul conține tot trei perechi. Ultima pereche pe care
am specificat-o în paranteze pătrate a fost păstrată în dicționarul rezultat.

De asemenea, aceste chei unice dintr-un dicționar ar trebui să fie imuabile. Practic,
conținutul obiectelor imuabile nu poate fi schimbat după ce au fost create.

String-urile, datele booleene, numerele întregi și float sunt obiecte imuabile, dar lista, de
exemplu, este modificabilă, deoarece îi putem modifica conținutul după ce este creată.
De aceea, acest dicționar, care are chei obiectele imuabile, este perfect valabil.

Aceasta, însă, care folosește o listă ca și cheie, nu este valid, așa că obținem o eroare.

Deci, acum că avem o idee despre cum să construim un dicționar valid și cum să îl
accesăm folosind paranteze drepte, să vedem cum putem adăuga mai multe date
într-un dicționar care există deja.
De exemplu, fiind angajat al Băncii Mondiale, decidem să recunoaștem Principatul
Sealand. Sealand este o micronatiune nerecunoscută, pe o platforma offshore situata in
Marea Nordului. În prezent, are 27 de locuitori.

Pentru a adăuga aceste informații, scriem pur și simplu cheia Sealand între paranteze
pătrate și îi atribuim valoarea 0.000027, exprimată în milioane cu semnul egal la
dicționarul world.

Dacă verificăm din nou world, într-adevăr, Sealand este inclusă.

Pentru a verifica acest lucru cu cod, putem scrie și „sealand in world”, ceea ce
returnează True dacă cheia sealand există.
Cu aceeași sintaxă, putem modifica și valori, de exemplu, pentru a actualiza populația
din Sealand la 0.000028. Deoarece fiecare cheie dintr-un dicționar este unică, Python
știe că nu încercăm să creăm o pereche nouă, ci dorim să actualizăm perechea care
există deja.

Putem vedea acest lucru în consola. Să presupunem acum că șeful ne cere să


eliminăm din nou Sealand din listă. Putem face acest lucru cu funcția del(), indicând din
nou Sealand între paranteze pătrate.

Dacă printam din nou world în consola, Sealand nu mai este.


Liste vs Dictionare

Sa ne amintim discuția despre liste din cursul introductiv, vom observa că utilizarea
listelor și a dicționarelor este asemănătoare. Putem selecta, modifica sau elimina
elemente cu ajutorul parantezelor pătrate.

Există totuși niște diferențe mari. Lista este o succesiune de valori care sunt indexate
printr-o serie de numere. Dicționarul, pe de altă parte, este indexat prin chei unice, care
pot fi orice tip de date imuabile.

Ei bine, dacă avem o colecție de valori unde ordinea contează și dorim să selectăm cu
ușurință subseturi întregi de date, vom dori să folosim o listă. Dacă, pe de altă parte,
avem nevoie de un fel de tabel de căutare, unde căutarea datelor ar trebui să fie rapidă
și unde putem specifica chei unice, un dicționar este opțiunea perfectă.

În calitate de data scientist, vom lucra adesea cu tone de date. Forma acestor date
poate varia, dar destul de des, o putem reduce la o structură tabelară, adică sub forma
unui tabel ca într-o foaie de calcul.
Exemple de date tabelare

Să aruncăm o privire la câteva exemple.

Să presupunem că lucram într-o fabrică chimică și avem o mulțime de măsurători de


temperatură de analizat. Aceste date pot veni sub următoarea formă:

Fiecare rând este o măsurare sau o observație și pentru fiecare observație există
variabile diferite. Pentru fiecare măsurătoare, există temperatura, dar și data și ora
măsurării și locația.

Un alt exemplu: am colectat informații despre așa-numitele țări BRICS, Brazilia, Rusia,
India, China și Africa de Sud.
Putem construi din nou un tabel cu aceste date, ca aceasta. Fiecare rând este o
informație și reprezintă o țară.

Fiecare informație are aceleași variabile: numele țării, capitala, suprafața în milioane de
kilometri pătrați și populația în milioane de locuitori.

Pentru a începe să lucrăm la aceste date în Python, vom avea nevoie de un fel de
structură de date dreptunghiulară. Știm deja array-ul 2D NumPy, nu? Ei bine, este o
opțiune, dar nu neapărat cea mai bună.

În cele două exemple pe care le-am acoperit, există diferite tipuri de date, iar array-urile
NumPy nu sunt cea mai bună alegere în a le gestiona. În exemplul BRICS, suprafața și
populația sunt numere floats, in timp ce țara și capitala sunt string-uri.

Seturile de date vor cuprinde, de obicei, diferite tipuri de date, așa că avem nevoie de
un instrument care este mai potrivit pentru această activitate. Data viitoare vom
descoperi un instrument foarte puternic de gestionat structurile de date tabelare.

S-ar putea să vă placă și