Hvordan endre kolonnenavn og radindekser i Pandas?
En av de vanligste operasjonene man kan gjøre mens man rengjør dataene eller gjør utforskende dataanalyse for å gjøre datavitenskap, er å manipulere / fikse kolonnenavn eller radnavn.
I dette innlegget vil vi se
- Hvordan endre kolonner med pandas dataframe?
- Hvordan endre radnavn eller radindekser for en pandas dataframe?
La oss først laste inn pandaer.
# import pandas>import pandas as pd
La oss bruke gapminder-data fra nettstedet for programvaresnekkeri.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
la oss sjekke navnene på kolonnene i datarammen, de første tre radene med dataene, ved hjelp av hodefunksjon.
>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
Vi kan også bruke kolonnefunksjon for å få kolonnenavnene.
>gapminder.columnsIndex(, dtype="object")
Hvordan endre navn på kolonner i Pandaer?
En kan endre kolonnenavnene på en panda dataramme på minst to måter. En måte å endre navn på kolonner i Pandas er å bruke df.kolonner fra Pandas og tildele nye navn direkte.
Hvis du for eksempel har kolonnene i en liste, kan du tilordne listen til kolonnenavn. direkte.
For å endre kolonnene i gapminder dataramme, kan vi tilordne listen over nye kolonnenavn til gapminder.columns som
>gapminder.columns =
Dette vil tildele navnene i listen som kolonnenavn for datarammen «gapminder». Vi kan sjekke datarammen for å se at hvis den har nye kolonnenavn ved hjelp av head () -funksjonen.
>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
Et problem med denne tilnærmingen for å endre kolonnenavn er at man må endre navn på alle kolonnene i datarammen. Denne tilnærmingen vil ikke fungere, hvis vi bare vil endre navnet på en kolonne.
Pandas omdøpningsfunksjon til Endre navn på kolonner
En annen måte å endre kolonnenavn i pandaer er å bruke omdøpningsfunksjon. Å bruke omdøpe for å endre kolonnenavn er en mye bedre måte enn før. Man kan chan ge navn på spesifikk kolonne enkelt. Og ikke alle kolonnenavnene trenger å endres.
For å endre kolonnenavn ved hjelp av omdøpningsfunksjon i Pandas, må man spesifisere en kartlegger, en ordbok med gamle navn som nøkler og nytt navn som verdier. Her er et eksempel for å endre mange kolonnenavn ved hjelp av en ordbok. Vi vil også bruke inplace = True for å endre kolonnenavn på plass.
En av de største fordelene ved å bruke omdøpningsfunksjonen er at vi kan bruke omdøpe for å endre så mange kolonnenavn som vi vil.
La oss endre navnet på en enkelt kolonne.
Pandas omdøpningsfunksjon kan også ta en funksjon som inngang i stedet for en ordbok. For eksempel kan vi skrive en lambda-funksjon for å ta gjeldende kolonnenavn og bare vurdere de tre første tegnene for de nye kolonnenavnene.
Hvordan endre og radnavn / indekser i pandaer?
En annen god ting med pandas omdøpningsfunksjon er at vi også kan bruke den til å endre radindekser eller radnavn.
Vi trenger bare å bruke indeksargument og spesifisere, vi vil endre indeks ikke kolonner.
For eksempel, for å endre radnavn 0 og 1 til ‘null’ og ‘en’ i vår gapminder dataramme, vil vi lage en ordbok med gamle radindeksnavn som nøkler og ny rad indeks som verdier.
Vi kan se at bare de to første radene har nye navn slik vi hadde tenkt.
Hvordan endre kolonnenavn og radindekser samtidig i Pandaer?
Med pandas omdøpningsfunksjon kan man også endre både kolonnenavn og radnavn samtidig ved å bruke både kolonne- og indeksargumenter for å gi nytt navn til funksjonen med tilsvarende kartordbøker.
La oss endre kolonnenavnet «lifeExp» til «life_exp» og også radindekser «0 & 1” til «null og en».
Er du ny i Pandas? Og komme i gang med Pandas nylig? Ta en titt på de nye Byte Sized Pandas 101-opplæringene.