Přejít na hlavní obsah

Pd.get_dummies v pandas: jak to funguje

Modul pandas v Pythonu poskytuje širokou škálu nástrojů pro práci s daty. Jedním z těchto nástrojů je funkce `pd.get_dummies`)', který umožňuje převést kategorické proměnné na číselné.

V reálném světě data často obsahují kategorické proměnné, které nelze přímo použít algoritmy strojového učení. Ale pomocí funkce ' pd.get_dummies ()` lze tyto proměnné převést na numerické, což je nezbytné pro mnoho algoritmů.

Jak to funguje? Funkce ' pd.get_dummies () ' vytváří nové sloupce v původní sadě dat pro každou jedinečnou hodnotu kategorické proměnné. Pro každý řádek je pak v původních datech nastavena hodnota 1 v příslušném novém sloupci, pokud se hodnota kategorické proměnné shoduje. Pokud se hodnota kategorické proměnné neshoduje, je nastavena hodnota 0.

Výhody použití funkce ' pd.get_dummies`) ' je, že umožňuje pracovat s kategorickými proměnnými bez nutnosti ručního kódování. To je užitečné a šetří čas při analýze dat a konstrukci modelů strojového učení.

Co je pd.get_dummies v pandas?

One-hot encoding je proces, při kterém je každá hodnota kategorického znaku nahrazena novým binárním znakem. Nový znak bude roven 1, pokud původní znak přijme danou hodnotu, a 0 jinak. One-hot encoding tak umožňuje kategorická data používat v algoritmech strojového učení, které vyžadují číselné vstupy.

pd.get_dummies přijímá DataFrame nebo sloupec Series jako vstup a vrací nový DataFrame s binárními znaky. Automaticky identifikuje kategorické znaky na základě jejich typu dat a aplikuje one-hot encoding pouze na ně.

Při použití pd.get_dummies je třeba vzít v úvahu, že může vést ke zvýšení velikosti dat, protože každá hodnota kategorického znaku je nahrazena novým binárním znakem. To může být nežádoucí, pokud jsou v datech známky s mnoha jedinečnými hodnotami.

Navzdory tomu pd.get_dummies je užitečný nástroj pro zpracování kategorických dat v pandas, který může být užitečný v různých úlohách analýzy dat a strojového učení.

Původní sloupecNový sloupec_místo1Nový sloupec_místo2Nový sloupec_místo3
význam1100
význam2010
významy3001

Princip fungování funkce pd.get_dummies v knihovně pandas

Když použijeme funkci pd.get_dummies ke sloupci s kategorickými hodnotami, rozdělí každou jedinečnou kategorii do samostatného sloupce a přiřadí mu hodnotu 1, pokud odpovídá dané kategorii, a 0 v opačném případě. Každý řádek v původním sloupci je tedy převeden na sadu binárních hodnot.

Pro příklad zvažte sloupec 'Color', který obsahuje hodnoty:' Red',' Green','Blue'. Pokud použijeme funkci pd.get_dummies do tohoto sloupce, dostaneme tři nové sloupce:' Color_Red',' Color_Green','Color_Blue'. Pokud se hodnota' Color 'v původní tabulce rovná' Red', sloupec' Color_Red 'bude mít hodnotu 1 a sloupce' Color_Green 'a' Color_Blue ' budou mít hodnotu 0 a naopak.

ColorColor_RedColor_GreenColor_Blue
Red100
Green010
Blue001

Funkce pd.get_dummies umožňuje převést kategorická data na druh, který lze použít k učení algoritmů strojového učení. Usnadňuje práci s kategorickými proměnnými a umožňuje jejich použití jako vstup pro modely strojového učení.

Jak používat pd.get_dummies v pandas pro vytváření fiktivních proměnných?

Metoda pd.get_dummies () v knihovně pandas umožňuje převést kategorické proměnné na fiktivní proměnné. Fiktivní proměnná neboli "Dammi-proměnná" je proměnná, která bere hodnotu 1, pokud prvek patří do určité kategorie, a 0 v opačném případě. Převod kategorických proměnných na fiktivní proměnné je nezbytný pro práci s algoritmy strojového učení a statistickými modely, které nemohou pracovat s textovými daty.

Proces vytváření fiktivních proměnných pomocí pd.get_dummies () v pandas je velmi jednoduchý. Stačí předat sloupec nebo seznam sloupců s kategorickými proměnnými jako argument funkce a vrátí nový DataFrame s fiktivními proměnnými.

import pandas as pd
data = 'Velikost': ['Malý', 'Střední', 'Velký', 'Velký','Malý'],
'Cena': [10, 15, 20, 25, 30]>
df = pd.DataFrame(data)
dummies = pd.get_dummies(df['Barva'])
df_with_dummies = pd.concat([df, dummies], axis=1)

V tomto příkladu máme zdrojová data obsahující sloupec "barva" s kategorickými proměnnými. Používáme pd.get_dummies () převést tento sloupec na fiktivní proměnné a uložit výsledek do nového DataFrame dummies . Původní DataFrame pak zkombinujeme s novým DataFrame fiktivních proměnných pomocí metody pd.concat() .

Výsledek bude vypadat následovně:

BarvaVelikostHodnotaČervenýZelenýModrý
0ČervenýMalý10100
1ZelenýStřední15010
2ModrýVelký20001
3ZelenýVelký25010
4ČervenýMalý30100

Nyní máme sloupce "červená", "zelená" a "modrá", což jsou fiktivní proměnné představující hodnoty z původního sloupce "Barva". Řádky odpovídající hodnotám " Červená "mají hodnotu 1 ve sloupci" červená " a 0 ve zbývajících sloupcích fiktivních proměnných. Podobně pro hodnoty "zelená"a " modrá".

Nyní můžete tento nový DataFrame pomocí fiktivních proměnných dále analyzovat nebo modelovat data. pd.get_dummies () je výkonný nástroj pro práci s kategorickými proměnnými v pandas, který usnadňuje proces vytváření fiktivních proměnných a usnadňuje jejich interpretaci pro algoritmy strojového učení.

Výhody používání pd.get_dummies v pandas

1. Snadné použití: pd.get_dummies se velmi snadno používá a umožňuje snadno převést kategorické proměnné na číselné. Není třeba psát složité cykly nebo podmínky, stačí použít metodu na požadovaný sloupec dataframu a získat nové číselné sloupce s převedenými hodnotami.

2. Flexibilita: pd.get_dummies umožňuje nastavit různé možnosti pro konverzi kategorických proměnných. Můžete například zadat předponu pro vytváření nových sloupců nebo nastavit sloupec-indikátor chybějících hodnot. To umožňuje přizpůsobit transformaci konkrétním potřebám projektu.

3. Přidání informací: pd.get_dummies vytváří nové sloupce s číselnými hodnotami pro každou jedinečnou hodnotu kategorické proměnné. To vám umožní uložit všechny informace o kategoriích, místo abyste je ztratili při konverzi.

4. Podpora různých typů proměnných: pd.get_dummies umožňuje převod nejen řádků, ale i celočíselných hodnot nebo dokonce časových řad. Díky tomu je metoda užitečná pro práci s různými typy dat.

5. Snadné sdílení s jinými nástroji: pd.get_dummies se dobře integruje s dalšími nástroji a metodami knihovny pandas. Tuto metodu lze například snadno kombinovat s metodami pro předběžné zpracování dat nebo rozdělit dataset na výukový a testovací vzorek.

Použití pd.get_dummies v pandas umožňuje efektivní práci s kategorickými daty a jejich přípravu pro učení modelů strojového učení. Tato metoda výrazně zjednodušuje proces převodu kategorických proměnných na číselné a umožňuje uložit všechny informace o kategoriích, což je velmi důležité pro získání přesných modelů.

Omezení a funkce pd.get_dummies v pandas

Je třeba vzít v úvahu některá omezení a vlastnosti funkce pd.get_dummies () při práci s daty v pandas. Podívejme se na ně podrobněji:

1. Chybějící hodnoty

Funkce pd.get_dummies () nefunguje s chybějícími hodnotami ve zdrojových datech. Pokud jsou v původním datasetu přítomny vynechané hodnoty, je nutné je předem zpracovat vyplněním nebo odstraněním.

2. Sloupce kategorií a sloupce s chybějícími hodnotami

Při použití funkce pd.get_dummies () vytvářejí nové sloupce pro každou kategorii z původního sloupce. Pokud jsou ve zdrojových datech sloupce s chybějícími hodnotami, vytvoří se odpovídající nové sloupce pro každou kategorii a sloupec pro vynechané hodnoty.

3. Vytváření binárních proměnných

Funkce pd.get_dummies () vytváří binární proměnné, to znamená, že nové sloupce budou obsahovat pouze hodnoty 0 nebo 1. Ve výchozím nastavení prochází první kategorie dummy coding. Pokud se tomu chcete vyhnout, musíte použít možnost Drop_first=True.

4. Kódování více sloupců

Funkce pd.get_dummies () umožňuje kódovat nejen jeden sloupec, ale také více sloupců najednou. V tomto případě budou nové sloupce vytvořeny pro každou jedinečnou hodnotu ve všech přenesených sloupcích.

5. Přejmenování sloupců

Ve výchozím nastavení jsou sloupce vytvořené funkcí pd.get_dummies (), mají názvy typu "pojmenování_schodný_stolbca_smysl_kategorie". Pokud chcete přejmenovat sloupce, můžete použít možnost prefix.

Vzhledem ke všem těmto vlastnostem je funkce pd.get_dummies () je výkonný nástroj pro práci s kategorickými daty v pandas, což umožňuje snadno a efektivně vytvářet nové reprezentace dat a začlenit je do analýzy.