Pandas – Přejmenování sloupce a indexu

Pandas – Přejmenování sloupce a indexu

Úvod

Pandas je výkonná a všestranná knihovna Pythonu pro manipulaci a analýzu dat. Umožňuje uživatelům provádět různé operace s datovými strukturami, jako jsou DataFrame a Series. Jednou z klíčových operací je přejmenování sloupců a indexu v DataFrame. V tomto článku prozkoumáme různé metody přejmenování sloupců a indexu v Pandas a vysvětlíme jejich syntaxi a použití.

Přejmenování sloupců

Metoda rename()

Metoda rename() je nejobecnější metodou pro přejmenování sloupců v DataFrame. Syntaxe metody rename() je následující:

python
DataFrame.rename(mapper, axis=1, copy=True, inplace=False, level=None, errors='raise')

Parametry:

* mapper: Funkce, slovník mapování nebo seznam názvů sloupců.
* axis: 0 pro index, 1 pro sloupce (výchozí).
* copy: Pokud je True, vrátí novou kopii DataFrame. Jinak provede změny na místě.
* inplace: Pokud je True, provede změny na původním DataFrame. Jinak vrátí novou kopii DataFrame.
* level: Úroveň hierarchického indexu, která má být přejmenována.
* errors: Akce, která se má provést, pokud dojde k chybě při přejmenování.

  Jak nainstalovat a nastavit plugin Plex na OpenMediaVault

Příklad:

python
import pandas as pd

df = pd.DataFrame({'sloupec1': [1, 2, 3], 'sloupec2': [4, 5, 6]})

Přejmenuje sloupce

df = df.rename(columns={'sloupec1': 'nový_sloupec1', 'sloupec2': 'nový_sloupec2'})

print(df)

Výstup:


nový_sloupec1 nový_sloupec2
0 1 4
1 2 5
2 3 6

Metoda set_axis()

Alternativní metodou pro přejmenování sloupců je metoda set_axis(). Syntaxe metody set_axis() je následující:

python
DataFrame.set_axis(labels, axis=1, inplace=False)

Parametry:

* labels: Názvy nových sloupců.
* axis: 0 pro index, 1 pro sloupce (výchozí).
* inplace: Pokud je True, provede změny na původním DataFrame. Jinak vrátí novou kopii DataFrame.

Příklad:

python
df = pd.DataFrame({'sloupec1': [1, 2, 3], 'sloupec2': [4, 5, 6]})

Přejmenuje sloupce

df = df.set_axis(['nový_sloupec1', 'nový_sloupec2'], axis=1)

print(df)

Výstup:


nový_sloupec1 nový_sloupec2
0 1 4
1 2 5
2 3 6

Přejmenování indexu

Metoda rename_axis()

Pro přejmenování indexu v DataFrame se používá metoda rename_axis(). Syntaxe metody rename_axis() je následující:

python
DataFrame.rename_axis(mapper, axis=0, copy=True, inplace=False, level=None, errors='raise')

Parametry:

* mapper: Funkce, slovník mapování nebo seznam názvů indexu.
* axis: 0 pro index (výchozí), 1 pro sloupce.
* copy: Pokud je True, vrátí novou kopii DataFrame. Jinak provede změny na místě.
* inplace: Pokud je True, provede změny na původním DataFrame. Jinak vrátí novou kopii DataFrame.
* level: Úroveň hierarchického indexu, která má být přejmenována.
* errors: Akce, která se má provést, pokud dojde k chybě při přejmenování.

Příklad:

python
df = pd.DataFrame({'sloupec1': [1, 2, 3], 'sloupec2': [4, 5, 6]})

Přejmenuje index

df = df.rename_axis('nový_index', axis=0)

print(df)

Výstup:


sloupec1 sloupec2
nový_index
0 1 4
1 2 5
2 3 6

Metoda set_index()

Alternativní metodou pro přejmenování indexu je metoda set_index(). Syntaxe metody set_index() je následující:

python
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

Parametry:

* keys: Sloupce nebo seznam sloupců, které mají být použity jako index.
* drop: Pokud je True, odstraní duplicitní indexy.
* append: Pokud je True, přidá nové indexy místo jejich nahrazení.
* inplace: Pokud je True, provede změny na původním DataFrame. Jinak vrátí novou kopii DataFrame.
* verify_integrity: Pokud je True, zkontroluje integritu indexu.

Příklad:

python
df = pd.DataFrame({'sloupec1': [1, 2, 3], 'sloupec2': [4, 5, 6]})

Přejmenuje index

df = df.set_index('sloupec1')

print(df)

Výstup:


sloupec2
sloupec1
1 4
2 5
3 6

Závěr**

Přejmenování sloupců a indexu v Pandas je důležitá operace, která umožňuje uživatelům lépe organizovat a zpracovávat data. Metody rename(), set_axis(), rename_axis() a set_index() poskytují flexibilní způsoby přejmenování sloupců a indexu s různými možnostmi přizpůsobení. Po pochopení syntaxe a použití těchto metod mohou uživatelé efektivně upravovat názvy sloupců a indexu, aby zlepšili čitelnost a použitelnost svých DataFrame.

Často kladené otázky (FAQ)

1. Jak přejmenovat více sloupců najednou v Pandas?
Použijte slovník mapování jako parametr mapper v metodě rename().

2. Jak přejmenovat jen určitou úroveň hierarchického indexu?
Použijte parametr level v metodách rename_axis() a set_index().

3. Jak vytvořit nový index z více sloupců?
Použijte metodu set_index() se seznamem sloupců jako parametr keys.

4. Jak přejmenovat sloupce a index ve stejné operaci?
Použijte metody rename() a rename_axis() společně.

5. Jak přejmenovat sloupce za běhu?
Použijte funkci lambda jako parametr mapper v metodě rename().

6. Jak přidat nový sloupec s názvem odvozeným z existujícího sloupce?
Použijte operátor + k vytvoření nového sloupce s požadovaným názvem.

7. Jak odstranit duplicitní názvy sloupců při přejmenovávání?
Nastavte parametr drop na True v metodě set_index().

8. Jak přejmenovat názvy sloupců a indexu na prázdné řetězce?
Použijte hodnotu None jako parametr mapper v metodách rename() a rename_axis().