Ce face DataFrame.rename()
rename(columns={"vechi": "nou"}) redenumește doar coloanele din dicționar; celelalte rămân la fel. Cu index={...} redenumești etichetele rândurilor. Metoda returnează un tabel nou.
În loc de dicționar poți da o funcție, aplicată pe fiecare nume: columns=str.lower face toate numele cu litere mici, columns=str.strip scoate spațiile de la capete, iar o lambda poate face orice altă transformare.
Implicit, cheile care nu există sunt ignorate fără mesaj (errors="ignore"). Cu errors="raise" primești KeyError, util ca să prinzi greșelile de scriere. Pentru a înlocui toate numele deodată poți scrie și df.columns = ["a", "b", ...].
Parametri
| Parametru | Descriere |
|---|---|
columns |
Dicționar {nume_vechi: nume_nou} sau funcție aplicată pe numele coloanelor. |
index |
La fel, pentru etichetele rândurilor. |
mapper, axis |
Altă formă: df.rename(str.upper, axis="columns"). |
errors |
"ignore" (implicit) sau "raise": eroare dacă o cheie din dicționar nu există. |
level |
Pentru index pe mai multe niveluri: nivelul redenumit. |
Ce returnează
Un DataFrame nou, cu numele schimbate.
Exemple
Exemplul 1: Redenumirea unor coloane și a unor rânduri
import pandas as pd
df = pd.DataFrame(
{"nume": ["Ana", "Mihai"], "nt": [9.5, 7.0]},
index=["a1", "a2"],
)
nou = df.rename(columns={"nt": "nota"}, index={"a1": "elev1", "a2": "elev2"})
print(nou)
Rezultat
nume nota
elev1 Ana 9.5
elev2 Mihai 7.0
Exemplul 2: Curățarea numelor cu o funcție
Numele venite dintr-un fișier au spații și majuscule. Le curățăm, apoi folosim errors="raise" ca să vedem o cheie greșită.
import pandas as pd
df = pd.DataFrame({" Nume ": ["Ana", "Ioana"], "Oras ": ["Iași", "Cluj"], "Nota Finala": [9, 8]})
curat = df.rename(columns=lambda c: c.strip().lower().replace(" ", "_"))
print(list(curat.columns))
try:
curat.rename(columns={"nota": "media"}, errors="raise")
except KeyError as e:
print("Eroare:", e)
Rezultat
['nume', 'oras', 'nota_finala']
Eroare: "['nota'] not found in axis"
Greșeli frecvente
- Uiți
columns=:df.rename({"nt": "nota"})redenumește etichetele din index, nu coloanele, și nu vezi nicio schimbare. - Nu salvezi rezultatul:
df.rename(...)singur nu schimbădf. Scriedf = df.rename(...);inplace=Trueeste depreciat în pandas 3.1. - Greșești numele vechi (de exemplu „Nota” în loc de „nota”) și nu primești nicio eroare. Folosește
errors="raise"când nu ești sigur.
Comenzi înrudite
DataFrame.drop(): Elimină coloane (columns=) sau rânduri (index=) după nume și returnează un tabel nou.DataFrame.assign() și coloane noi: Adaugă coloane calculate: df[„col”] = … modifică tabelul, iar assign() returnează un tabel nou și acceptă funcții lambda.DataFrame.set_index() / reset_index(): set_index face dintr-o coloană indexul rândurilor; reset_index mută indexul înapoi într-o coloană sau îl renumerotează.
Întrebări & Exemple de Cod:
DataFrame.rename()Ai o nelămurire despre utilizarea comenzii
DataFrame.rename()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.