Jak změnit názvy sloupců a indexy řádků v pandách?
Jednou z nejběžnějších operací, kterou je možné provádět při čištění dat nebo při průzkumné analýze dat při provádění vědy o datech, je manipulace / oprava názvů sloupců nebo názvů řádků.
V tomto příspěvku uvidíme
- Jak přejmenovat sloupce datového rámce pandy?
- Jak změnit názvy řádků nebo indexy řádků datového rámce pandy?
Nejprve načtěte pandy.
# import pandas>import pandas as pd
Použijme data gapminder z webu tesařského softwaru.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
zkontrolujeme pomocí funkce head názvy sloupců datového rámce, prvních tří řádků dat.
>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
Můžeme také použít funkci sloupců k získání názvů sloupců.
>gapminder.columnsIndex(, dtype="object")
Jak přejmenovat sloupce v Pandách?
Jeden může změnit názvy sloupců pandy datový rámec nejméně dvěma způsoby. Jedním ze způsobů, jak přejmenovat sloupce v Pandách, je použít df.columns z Pandas a přiřadit přímo nová jména.
Pokud máte například názvy sloupců v seznamu, můžete seznam přiřadit názvům sloupců přímo.
Chcete-li změnit sloupce datového rámce gapminder, můžeme seznam nových názvů sloupců přiřadit gapminder.columns jako
>gapminder.columns =
Toto přiřadí názvy v seznamu jako názvy sloupců pro datový rámec „gapminder“. Můžeme zkontrolovat datový rámec a zjistit, zda má nové názvy sloupců pomocí funkce 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
Problém s tímto přístupem ke změně názvů sloupců spočívá v tom, že je nutné změnit názvy všech sloupců v datovém rámci. Tento přístup by nefungoval, pokud chceme změnit pouze změnu názvu jednoho sloupec.
Funkce Pandas rename na Přejmenovat sloupce
Dalším způsobem, jak změnit názvy sloupců v pandách, je použití funkce rename. Použití rename pro změnu názvů sloupců je mnohem lepší způsob než dříve. Jeden může změnit názvy konkrétních sloupců snadno. A ne všechny názvy sloupců je třeba měnit.
Chcete-li změnit názvy sloupců pomocí funkce přejmenování v Pandas, je třeba zadat mapovač, slovník se starým názvem jako klíči a novým názvem jako hodnotami. Zde je příklad, jak změnit mnoho názvů sloupců pomocí slovníku. Ke změně názvů sloupců na místě použijeme také inplace = True.
Jednou z největších výhod použití funkce přejmenování je, že můžeme použít přejmenování ke změně libovolného počtu názvů sloupců.
Změníme název jednoho sloupce.
Funkce Pandas rename může místo slovníku také použít funkci jako vstup. Například můžeme napsat funkci lambda, která vezme aktuální názvy sloupců a vezme v úvahu pouze první tři znaky pro nové názvy sloupců.
Jak změnit a názvy řádků / indexy v Pandách?
Další dobrá věc týkající se funkce přejmenování pand je, že ji můžeme také použít ke změně indexů řádků nebo názvů řádků.
Stačí použít argument indexu a specifikovat, chceme změňte index, nikoli sloupce.
Chcete-li například změnit názvy řádků 0 a 1 na „nulu“ a „jeden“ v našem datovém rámci gapminder, vytvoříme slovník se starými názvy indexů řádků jako klíče a nový řádek index jako hodnoty.
Vidíme, že právě první dva řádky mají nové názvy, jak jsme zamýšleli.
Jak změnit názvy sloupců a indexů řádků současně v Pandách?
S funkcí přejmenování pand lze také změnit názvy sloupců i názvy řádků současně pomocí argumentů sloupců i indexů k přejmenování funkce s odpovídajícími mapovacími slovníky.
Změníme název sloupce „lifeExp“ na „life_exp“ a také indexy řádků „0 & 1“ na „nula a jedna“.
Jste v Pandách noví? A začínáte s Pandasem nedávno? Podívejte se na naše nové výukové programy Byte Sized Pandas 101.