DataFrame.at și DataFrame.iat în pandas

Citesc sau modifică o singură valoare din tabel: at după etichete, iat după poziții.

Sintaxă
df.at[eticheta_rand, nume_coloana]
df.iat[pozitie_rand, pozitie_coloana]

Ce face DataFrame.at și DataFrame.iat

at și iat sunt variantele pentru o singură celulă ale lui loc și iloc. df.at["Ana", "nota"] folosește eticheta rândului și numele coloanei; df.iat[0, 1] folosește poziția rândului și a coloanei.

Ambele merg și pentru atribuire: df.at["Ana", "nota"] = 10. Pentru că lucrează cu o singură valoare, nu acceptă liste, intervale sau măști. Când ai nevoie de mai multe celule, folosește loc / iloc.

Parametri

Parametru Descriere
eticheta_rand, nume_coloana La at: eticheta din index și numele coloanei.
pozitie_rand, pozitie_coloana La iat: două numere întregi, de la 0 (pot fi negative).

Ce returnează

Valoarea din celula aleasă (de exemplu un număr sau un text).

Exemple

Exemplul 1: Citirea unei valori

import pandas as pd

df = pd.DataFrame(
    {"oras": ["Iași", "Cluj", "Brașov"], "nota": [9.5, 7.0, 8.0]},
    index=["Ana", "Mihai", "Ioana"],
)

print(df.at["Mihai", "oras"])
print(df.iat[2, 1])
print(df.iat[-1, 0])

Rezultat

Cluj
8.0
Brașov

Exemplul 2: Modificarea unei singure celule

Nota lui Mihai se corectează după etichete, iar orașul primului rând după poziții.

import pandas as pd

df = pd.DataFrame(
    {"oras": ["Iași", "Cluj", "Brașov"], "nota": [9.5, 7.0, 8.0]},
    index=["Ana", "Mihai", "Ioana"],
)

df.at["Mihai", "nota"] = 7.5
df.iat[0, 0] = "Suceava"
print(df)

Rezultat

          oras  nota
Ana    Suceava   9.5
Mihai     Cluj   7.5
Ioana   Brașov   8.0

Greșeli frecvente

  • Dai o listă sau un interval: df.at[["Ana", "Mihai"], "nota"] nu funcționează. at și iat sunt doar pentru o celulă.
  • Amesteci etichetele cu pozițiile: df.iat["Ana", 0] sau df.at[0, "nota"] pe un index de nume aruncă eroare.
  • Pui un text într-o coloană numerică cu at: pandas aruncă eroare sau schimbă tipul coloanei. Verifică tipul cu df.dtypes înainte.

Comenzi înrudite

  • DataFrame.loc: Selectează rânduri și coloane după etichete (numele din index și numele coloanelor) și permite modificarea valorilor.
  • DataFrame.iloc: Selectează rânduri și coloane după poziție (0, 1, 2, …), ca la listele Python, cu interval care exclude capătul din dreapta.
  • dtypes / select_dtypes(): dtypes arată tipul fiecărei coloane; select_dtypes păstrează doar coloanele de anumite tipuri (numere, text, date).
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: DataFrame.at și DataFrame.iat

Ai o nelămurire despre utilizarea comenzii DataFrame.at și DataFrame.iat sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.