Cum să schimbați numele coloanelor și indexurile de rând în panda?
Una dintre cele mai frecvente operații pe care le-ați putea face în timp ce curățați datele sau efectuați o analiză exploratorie a datelor în efectuarea științei datelor este manipularea / fixarea numelor coloanelor sau a numelor rândurilor.
În această postare, vom vedea
- Cum să redenumiți coloanele cadrului de date pandas?
- Cum să schimbați numele rândurilor sau indexurile rândurilor unui cadru de date pandă?
Haideți să încărcăm mai întâi panda.
# import pandas>import pandas as pd
Să folosim datele gapminder de pe site-ul web de tâmplărie software.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
permiteți-ne să verificăm numele coloanelor cadrului de date, primele trei rânduri ale datelor, folosind funcția cap.
>print(gapminder.head(3)) country year pop continent lifeExp gdpPercap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Putem folosi și funcția coloane pentru a obține numele coloanelor.
>gapminder.columnsIndex(, dtype="object")
Cum să redenumiți coloanele din panda?
One poate schimba numele coloanelor unui panda cadru de date în cel puțin două moduri. O modalitate de a redenumi coloanele din Pandas este să utilizați df.columns din Pandas și să atribuiți direct nume noi.
De exemplu, dacă aveți numele coloanelor într-o listă, puteți atribui lista numelor coloanelor. direct.
Pentru a schimba coloanele din cadrul de date gapminder, putem atribui lista de nume de coloane noi către gapminder.columns ca
>gapminder.columns =
Aceasta va atribui numele din listă ca nume de coloane pentru cadrul de date „gapminder”. Putem verifica cadrul de date pentru a vedea dacă are nume de coloane noi folosind funcția head ().
>gapminder.head(3) country year population continent life_exp gdp_per_cap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
O problemă cu această abordare pentru a schimba numele coloanelor este că trebuie să schimbați numele tuturor coloanelor din cadrul de date. Această abordare nu ar funcționa, dacă vrem să schimbăm, schimbați doar numele unuia column.
Functia de redenumire a pandelor în Redenumirea coloanelor
O altă modalitate de a schimba numele coloanelor în panda este de a utiliza funcția de redenumire. Utilizarea redenumirii pentru a schimba numele coloanelor este o modalitate mult mai bună decât înainte. Se poate schimba numele cu ușurință ale coloanei specifice. Și nu toate numele coloanelor trebuie schimbate.
Pentru a schimba numele coloanelor folosind funcția de redenumire în Pandas, trebuie să specificați un cartograf, un dicționar cu nume vechi ca chei și nume nou ca valori. Iată un exemplu pentru a schimba multe nume de coloane folosind un dicționar. De asemenea, vom folosi inplace = True pentru a schimba numele coloanelor la locul lor.
Unul dintre cele mai mari avantaje ale utilizării funcției de redenumire este acela că putem folosi redenumirea pentru a schimba câte nume de coloane dorim.
Permiteți-ne să schimbăm numele unei singure coloane.
Functia de redenumire a pandelor poate lua o funcție ca intrare în locul unui dicționar. De exemplu, putem scrie o funcție lambda pentru a lua numele coloanelor curente și să luăm în considerare doar primele trei caractere pentru noile nume de coloane.
Cum se schimbă și nume de rânduri / indexuri în panda?
Un alt lucru bun despre funcția de redenumire a pandelor este că îl putem folosi și pentru a schimba indicii rândurilor sau numele rândurilor.
Trebuie doar să folosim argumentul index și să specificăm, vrem să schimbați indexul nu coloanele.
De exemplu, pentru a schimba numele rândurilor 0 și 1 la „zero” și „unu” în cadrul nostru de date gapminder, vom construi un dicționar cu nume vechi de indexuri de rând ca chei și rând nou index ca valori.
Putem vedea că doar primele două rânduri au nume noi așa cum am intenționat.
Cum să schimbați simultan numele coloanelor și indexurile rândurilor în panda?
Cu funcția de redenumire a pandelor, se pot schimba simultan atât numele coloanelor, cât și numele rândurilor, utilizând atât argumentele coloanei, cât și indexul, pentru a redenumi funcția cu dicționarele corespondente corespunzătoare.
Să schimbăm numele coloanei „lifeExp” la „life_exp” și, de asemenea, indicii de rând „0 & 1” la „zero și unu”.
Sunteți nou în Pandas? Și să începeți recent cu Pandas? Consultați noile noastre tutoriale pentru Pandas 101 de dimensiuni de octeți.