Hur ändrar jag kolumnnamn och radindex i Pandas?
En av de vanligaste operationerna man kan göra när man städar data eller gör undersökande dataanalys för att göra datavetenskap är att manipulera / fixa kolumnnamn eller radnamn.
I det här inlägget ser vi
- Hur byter jag namn på kolumner med pandas dataframe?
- Hur ändrar jag radnamn eller radindex för en pandas dataframe?
Låt oss först ladda pandor.
# import pandas>import pandas as pd
Låt oss använda data från gapminder från webbplatsen för snickeriprogramvara.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
låt oss kontrollera namnen på kolumnerna i dataramen, de första tre raderna med data, med hjälp av huvudfunktionen.
>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 också använda kolumnerfunktionen för att få kolumnnamnen.
>gapminder.columnsIndex(, dtype="object")
Hur byter du namn på kolumner i Panda?
En kan ändra kolumnnamnen på en panda dataframe på minst två sätt. Ett sätt att byta namn på kolumner i Pandas är att använda df.kolumner från Pandas och tilldela nya namn direkt.
Om du till exempel har kolumnnamnen i en lista kan du tilldela listan till kolumnnamn direkt.
För att ändra kolumnerna i gapminder dataframe kan vi tilldela listan över nya kolumnnamn till gapminder.column som
>gapminder.columns =
Detta kommer att tilldela namnen i listan som kolumnnamn för dataramen ”gapminder”. Vi kan kontrollera dataramen för att se att om den har nya kolumnnamn med funktionen 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
Ett problem med detta tillvägagångssätt för att ändra kolumnnamn är att man måste ändra namn på alla kolumner i dataramen. Detta tillvägagångssätt skulle inte fungera, om vi vill ändra bara ändra namnet på en kolumn.
Funktionen för att byta namn på Panda till Byt namn på kolumner
Ett annat sätt att ändra kolumnnamn i pandor är att använda byta namn på funktionen. Att använda byta namn för att ändra kolumnnamn är ett mycket bättre sätt än tidigare. Man kan chan ge namn på specifik kolumn enkelt. Och inte alla kolumnnamn behöver ändras.
För att ändra kolumnnamn med hjälp av byta namn i Pandas, måste man ange en mappare, en ordlista med gamla namn som nycklar och nytt namn som värden. Här är ett exempel för att ändra många kolumnnamn med hjälp av en ordlista. Vi kommer också att använda inplace = True för att ändra kolumnnamn på plats.
En av de största fördelarna med att använda byta namn är att vi kan använda byta namn för att ändra så många kolumnnamn som vi vill.
Låt oss ändra namnet på en enskild kolumn.
Pandas namnändringsfunktion kan också ta en funktion som inmatning istället för en ordlista. Vi kan till exempel skriva en lambda-funktion för att ta de aktuella kolumnnamnen och bara överväga de tre första tecknen för de nya kolumnnamnen.
Hur ändrar jag och radnamn / index i pandaer?
En annan bra sak med pandas namnbytesfunktion är att vi också kan använda den för att ändra radindex eller radnamn.
Vi behöver bara använda indexargument och specificera, vi vill ändra index inte kolumner.
Till exempel, för att ändra radnamn 0 och 1 till ”noll” och ”en” i vår gapminder-dataram kommer vi att skapa en ordbok med gamla radindexnamn som nycklar och ny rad index som värden.
Vi kan se att bara de första två raderna har nya namn som vi tänkt oss.
Hur ändrar jag kolumnnamn och radindex samtidigt i Pandas?
Med pandas namnnamnfunktion kan man också ändra både kolumnnamn och radnamn samtidigt genom att använda både kolumn- och indexargument för att byta namn på funktion med motsvarande mappordböcker.
Låt oss ändra kolumnnamnet ”lifeExp” till ”life_exp” och även radindex ”0 & 1” till ”noll och en”.
Är du ny på Pandas? Och komma igång med Pandas nyligen? Kolla in våra nya handledning av Byte Sized Pandas 101.