Home » Articole » Articole » Calculatoare » Programare » Python » Matrice asociative în Python: Accesarea elementelor individuale

Matrice asociative în Python: Accesarea elementelor individuale

postat în: Python 0

Acum putem crea Serii; hai să vedem ce putem face cu ele.

Accesarea elementelor individuale

Putem folosi funcția len(), pentru care am învățat deja două utilizări, într-un al treilea mod: pentru a stabili numărul de perechi cheie/valoare dintr-o serie. Folosind exemplul din Figura 11.2 (p. 105):

print(len(alter_egos)) 

▐ 4

Accesarea valorii pentru o anumită cheie folosește exact aceeași sintaxă pe care a folosit-o matricele NumPy (boxies), cu excepția cheii în locul indexului numeric:

superhero = alter_egos['Peter'] 
print("Pssst...Peter is really {}.".format(superhero)) 

▐ Pssst...Peter is really Spidey.

Acesta este motivul pentru care este important ca cheile unui tablou asociativ să fie unice. Dacă introducem “alter_egos[‘Peter’],” trebuie să obținem un răspuns bine definit, nu un set ambiguu de alternative. (1) Valorile, pe de altă parte, pot foarte bine să nu fie unice.

Pentru a suprascrie valoarea pentru o cheie cu o valoare nouă, tratați-o ca pe o variabilă și mergeți pe:

alter_egos['Bruce'] = 'Batman' 
print(alter_egos) 

▐ Bruce Batman 

▐ Peter Spidey 

▐ Tony Iron Man 

▐ Thor Thor 

▐ dtype: object

Aceeași sintaxă funcționează și pentru adăugarea unei perechi cheie/valoare complet nouă:

alter_egos['Diana'] = 'Wonder Woman' 
print(alter_egos) 

▐ Bruce Batman 

▐ Peter Spidey 

▐ Tony Iron Man 

▐ Thor Thor 

▐ Diana Wonder Woman 

▐ dtype: object

Este la fel ca în cazul variabilelor obișnuite, dacă te gândești la asta. A spune „x=5” suprascrie valoarea curentă a lui x dacă există deja un x, în caz contrar se creează o nouă variabilă x cu acea valoare.

În cele din urmă, pentru a elimina definitiv o pereche cheie/valoare, utilizați operatorul del:

del alter_egos['Tony'] 
print(alter_egos) 

▐ Bruce Batman 

▐ Peter Spidey 

▐ Thor Thor 

▐ Diana Wonder Woman 

▐ dtype: object

Adio, Iron Man.

Nu vă supărați când vă spun că toate operațiunile de mai sus funcționează pe Serie, ceea ce este foarte diferit de unele dintre stilul „returnează o copie modificată” pe care l-am văzut recent. Prin urmare, toate aceste încercări sunt greșite:

alter_egos = del alter_egos['Tony'] <--- GREȘIT! 
alter_egos = alter_egos['Bruce'] = 'Batman' <--- GREȘIT! 
alter_egos = alter_egos['Diana'] = 'Wonder Woman' <--- GREȘIT!

Nu „schimbi o valoare și obții o serie nouă”; doar „schimbi”.

Accesarea după poziție

Un lucru puțin ciudat pe care îl puteți face cu o serie Pandas este să ignorați cheia (indexul) cu totul și, în schimb, să utilizați numărul perechii cheie/valoare pentru a specifica ce valoare doriți. Acest lucru mă face nesigur, deoarece într-adevăr nu există nicio „ordine” semnificativă pentru perechile cheie/valoare ale unui tablou asociativ. Cu toate acestea, în modul All Things To All People™, Pandas vă permite să faceți acest lucru.

Accesarea unei valori după poziție

Puteți cere valoarea (să spunem) „al doilea” super-erou. Pentru a face acest lucru, utilizați sintaxa cu denumirea bizară .iloc:

a_hero = alter_egos.iloc[1] 
print(a_hero) 

▐ Spidey

Acest lucru este uneori util, așa că îl menționez pentru a fi complet. Numerele .iloc încep cu 0 (nu 1), așa cum este adevărat în Python.

Accesarea unei chei după poziție

În mod similar, puteți obține cheia (spre deosebire de valoare) perechii cheie/valoare într-o anumită poziție. Pentru a cere cheia „al doilea” super-erou, utilizați sintaxa .index:

a_secret_hero = alter_egos.index[1] 
print(a_secret_hero) 

▐ Peter

(1) Pandas, care încearcă să fie All Things To All People™ (de toate pentru toți), vă va permite de fapt să aveți valori duplicate ale indexului într-o Serie. Ce face dacă ceri „valoarea” lui Peter, atunci, dacă există mai multe? Îți dă înapoi o altă Serie de diferiți supereroi Peter. Aceasta este o durere majoră, pentru că acum, atunci când căutați o valoare în Serie, nu știți dacă veți primi înapoi un singur articol sau o altă Serie, ceea ce înseamnă că trebuie să verificați pentru a vedea care este și apoi scrieți cod diferit pentru a gestiona cele două cazuri… Doar stai departe, departe de asta. Faceți toate cheile dvs. unice.

Sursa: Stephen Davies, The Crystal Ball – Instruction Manual, Vol. 1: Introduction to Data Science, v. 1.1. Copyright © 2021 Stephen Davies. Licența CC BY-SA 4.0. Traducere și adaptare: Nicolae Sfetcu. © 2024 MultiMedia Publishing, Introducere în Știința Datelor, Volumul 1

Etica Big Data în cercetare
Etica Big Data în cercetare

O explorare critică a provocărilor etice și a implicațiilor legale asociate Big Data.

Nu a fost votat Interval de prețuri: 0.00 lei până la 10.80 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Lucrul cu baze de date
Lucrul cu baze de date

Descoperă puterea bazelor de date cu acest ghid complet.

Nu a fost votat Interval de prețuri: 18.33 lei până la 36.71 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Analitica rețelelor sociale
Analitica rețelelor sociale

Descoperă puterea datelor și transformă modul în care înțelegi și utilizezi rețelele sociale.

Nu a fost votat Interval de prețuri: 18.33 lei până la 44.15 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.


Descoperă mai multe la MultiMedia

Abonează-te ca să primești ultimele articole prin email.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *