Data Science

Ako vytvoriť kontingenčnú tabuľku v Pandas Python

Ako vytvoriť kontingenčnú tabuľku v Pandas Python
V pandónovom pytóne obsahuje kontingenčná tabuľka funkcie súčtov, počtov alebo agregácií odvodené z dátovej tabuľky. Funkcie agregácie je možné použiť na rôzne vlastnosti alebo hodnoty. Kontingenčná tabuľka nám umožňuje sumarizovať údaje tabuľky zoskupené podľa rôznych hodnôt, vrátane stĺpcových kategorických hodnôt.

Pred použitím kontingenčnej tabuľky panda sa uistite, že rozumiete svojim údajom a otázkam, ktoré sa pokúšate vyriešiť prostredníctvom kontingenčnej tabuľky. Použitím tejto metódy môžete dosiahnuť vynikajúce výsledky. V tomto článku sa dozvieme, ako vytvoriť kontingenčnú tabuľku v pandas python.

Čítanie údajov zo súboru programu Excel

Stiahli sme si excelovú databázu predaja potravín. Pred začatím implementácie musíte nainštalovať potrebné balíčky na čítanie a zápis súborov databázy Excel. Zadajte nasledujúci príkaz do terminálovej časti editora pycharm:

pip nainštalovať xlwt openpyxl xlsxwriter xlrd

Teraz si prečítajte údaje z hárka programu Excel. Importujte požadované knižnice pandy a zmeňte cestu k svojej databáze. Potom spustením nasledujúceho kódu možno zo súboru načítať údaje.

importovať pandy ako pd
importovať numpy ako np
dtfrm = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
tlač (dtfrm)

Tu sa údaje načítajú z databázy Excel pre predaj potravín a odovzdajú sa do premennej dátového rámca.

Vytvorte kontingenčnú tabuľku pomocou Pandas Python

Ďalej sme pomocou databázy predaja potravín vytvorili jednoduchú kontingenčnú tabuľku. Na vytvorenie kontingenčnej tabuľky sú potrebné dva parametre. Prvým z nich sú údaje, ktoré sme odovzdali do údajového rámca, a druhým je index.

Pivotné údaje v indexe

Index je vlastnosťou kontingenčnej tabuľky, ktorá umožňuje zoskupiť údaje podľa požiadaviek. Tu sme vzali „Produkt“ ako index na vytvorenie základnej kontingenčnej tabuľky.

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ["Produkt"])
tlač (kontingenčná_tabuľka)

Po spustení vyššie uvedeného zdrojového kódu sa zobrazí nasledujúci výsledok:

Výslovne definujte stĺpce

Pre ďalšiu analýzu údajov explicitne definujte názvy stĺpcov s indexom. Napríklad chceme vo výsledku zobraziť jedinú UnitPrice každého produktu. Za týmto účelom pridajte parameter hodnoty do svojej kontingenčnej tabuľky. Nasledujúci kód poskytuje rovnaký výsledok:

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = 'Product', values ​​= 'UnitPrice')
tlač (kontingenčná_tabuľka)

Pivotné dáta s multi-indexom

Dáta je možné zoskupiť na základe viacerých funkcií ako index. Použitím prístupu viacerých indexov môžete získať konkrétnejšie výsledky analýzy údajov. Napríklad výrobky spadajú do rôznych kategórií. Môžete teda zobraziť index „Produkt“ a „Kategória“ s dostupnými množstvami a jednotkovými cenami každého produktu takto:

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ["Kategória", "Produkt"], hodnoty = ["Jednotková cena", "Množstvo"])
tlač (kontingenčná_tabuľka)

Aplikácia agregačnej funkcie v kontingenčnej tabuľke

V kontingenčnej tabuľke možno aggfunc použiť pre rôzne hodnoty prvkov. Výslednou tabuľkou je sumarizácia údajov o vlastnostiach. Funkcia agregácie sa vzťahuje na údaje vašej skupiny v kontingenčnej tabuľke. V predvolenom nastavení je agregačná funkcia np.priemer (). Na základe požiadaviek používateľov však môžu pre rôzne dátové funkcie platiť rôzne agregačné funkcie.

Príklad:

V tomto príklade sme použili agregačné funkcie. The np.funkcia sum () sa používa pre funkciu 'Množstvo' a np.funkcia mean () pre funkciu 'UnitPrice'.

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ["kategória", "produkt"], aggfunc = 'množstvo': np.suma, 'UnitPrice': np.priemerný)
tlač (kontingenčná_tabuľka)

Po použití agregačnej funkcie pre rôzne funkcie získate nasledujúci výstup:

Pomocou parametra hodnoty môžete tiež použiť agregačnú funkciu pre konkrétny objekt. Ak neurčíte hodnotu prvku, agreguje sa numerické vlastnosti databázy. Podľa nasledujúceho zdrojového kódu môžete použiť agregačnú funkciu pre konkrétnu funkciu:

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ['Product'], values ​​= ['UnitPrice'], aggfunc = np.priemer)
tlač (kontingenčná_tabuľka)

Rozdiel medzi hodnotami vs. Stĺpce v kontingenčnej tabuľke

Hodnoty a stĺpce sú hlavným mätúcim bodom v kontingenčnej tabuľke. Je dôležité poznamenať, že stĺpce sú voliteľné polia, ktoré zobrazujú hodnoty výslednej tabuľky vodorovne navrchu. Funkcia agregácie aggfunc sa použije na pole hodnôt, ktoré uvediete.

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ['Category', 'Product', 'City'], values ​​= ['UnitPrice', 'Quantity'],
stĺpce = ['Región'], aggfunc = [np.suma])
tlač (kontingenčná_tabuľka)

Spracovanie chýbajúcich údajov v kontingenčnej tabuľke

S chýbajúcimi hodnotami v kontingenčnej tabuľke môžete tiež manipulovať pomocou „fill_value“ Parameter. To vám umožní nahradiť hodnoty NaN nejakou novou hodnotou, ktorú zadáte na vyplnenie.

Napríklad sme odstránili všetky nulové hodnoty z vyššie uvedenej výslednej tabuľky spustením nasledujúceho kódu a hodnoty NaN nahradíme 0 v celej výslednej tabuľke.

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ['Category', 'Product', 'City'], values ​​= ['UnitPrice', 'Quantity'],
stĺpce = ['Región'], aggfunc = [np.suma], fill_value = 0)
tlač (kontingenčná_tabuľka)

Filtrovanie v kontingenčnej tabuľke

Po vygenerovaní výsledku môžete filter použiť pomocou štandardnej funkcie dátového rámca. Zoberme si príklad. Filtrujte tie produkty, ktorých jednotková cena je nižšia ako 60. Zobrazuje tie výrobky, ktorých cena je nižšia ako 60.

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (dataframe, index = 'Product', values ​​= 'UnitPrice', aggfunc = 'sum')
low_price = pivot_tble [pivot_tble ['UnitPrice'] < 60]
tlač (nízka cena)

Použitím inej metódy dotazu môžete filtrovať výsledky. Napríklad sme napríklad filtrovali kategóriu súborov cookie na základe nasledujúcich funkcií:

importovať pandy ako pd
importovať numpy ako np
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (dataframe, index = ["Kategória", "Mesto", "Región"), hodnoty = ["Jednotková cena", "Množstvo"], aggfunc = np.suma)
pt = kontingenčná tabuľka.dopyt ('Category == ["Cookies"]'))
tlačiť (pt)

Výkon:

Vizualizujte údaje kontingenčnej tabuľky

Ak chcete vizualizovať údaje kontingenčnej tabuľky, postupujte nasledovne:

importovať pandy ako pd
importovať numpy ako np
import matplotlib.pyplot ako plt
dátový rámec = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (dataframe, index = ["Category", "Product"], values ​​= ["UnitPrice"])
kontingenčná tabuľka.plot (druh = 'bar');
plt.šou()

Vo vyššie uvedenej vizualizácii sme spolu s kategóriami ukázali jednotkovú cenu rôznych produktov.

Záver

Preskúmali sme, ako môžete vygenerovať kontingenčnú tabuľku z dátového rámca pomocou Pandas python. Kontingenčná tabuľka vám umožňuje generovať podrobné informácie o vašich množinách údajov. Videli sme, ako vygenerovať jednoduchú kontingenčnú tabuľku pomocou viacerých indexov a použiť filtre na kontingenčné tabuľky. Okrem toho sme tiež preukázali vykreslenie údajov kontingenčnej tabuľky a doplnenie chýbajúcich údajov.

Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...
Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...