Adatkutatás Pythonnal III.

A posztban szereplő példa Jupyter Notebook forráskódja itt érhető el.

Az adatokat elő kell készíteni az elemzéshez, ahogyan azt eddig is tettük ebben a sorozatban. Az Exploratory Data Analysis (EDA) legizgalmasabb része azonban az, amikor feltárjuk az adatokat és felfedezzük az azokból nyerhető információkat. Pontosan ezt fogjuk tenni ebben a bejegyzésben.

Adataink méretének csökkentése: szűrés és aggregálás

Az információk kinyerésének egyik alapvető módja az adatok méretének csökkentése, hogy egyszerre csak egy részét lehessen megtekinteni. Ennek két módja van: szűrés és aggregálás. A szűréssel lényegében sorokat vagy oszlopokat, vagy mindkettőt távolítunk el, hogy az adatoknak csak a számunkra érdekes részére koncentrálhassunk.
Az aggregálás célja, hogy az adatkészletben csoportosítsuk a hasonló kategóriájú attribútumokkal rendelkező rekordokat, majd egy vagy több numerikus mezőn számításokat (számlálás, összegzés, átlagolás stb.) hajtsunk végre, hogy megfigyelhessük az egyes csoportokba tartozó rekordok közötti különbségeket.

Az adatkészlet szűrésének és aggregálásának megkezdéséhez írhatunk egy olyan függvényt, amely az általunk megadott group_field alapján összesít, és megszámolja az egyes csoportok sorainak számát. Az intuitívabb és könnyebben értelmezhető eredmény érdekében az adatokat a leggyakoribbtól a legritkábbig rendezzük és megfelelő oszlopnevekkel ellátott pandas adatkeretben formázzuk.

Most, hogy ez a függvény már az eszköztárunkban van, használjuk is fel! Tegyük fel, hogy arra vagyunk kíváncsiak, hogy a History műfajon belül mely címek fordultak elő a leggyakrabban. Az alábbiakban megnézzük, hogyan szűrjük az adatokat és hogyan használjuk az agg_count függvényt azok átalakítására, hogy megkapjuk a kívánt eredményt.

Milyen adatokat ad ez?

Így megkapjuk a kívánt eredményt táblázatos formában, de még egy lépéssel tovább mehetünk és vízszintes oszlopdiagrammal is ábrázolhatjuk.

A diagramm így néz ki:

Ha viszont arra vagyunk kíváncsiak, hogy melyik filmet hányszor nézték meg mobilon, akkor ezt is egyszerűen megtehetjük ugyanezzel a függvénnyel:

Ezt is nézzük meg vizuálisan:

Mi lenne, ha más számításokat is végeznénk, például átlagolást? Egyszerűen hozzunk létre egy új függvényt agg_avg néven, amely kiszámítja egy megadott numerikus mező átlagát.

Az adatok részletesebb elemzése

Eddig az adatokat meglehetősen magas szinten néztük meg egyetlen változó alapján összesítve. Természetesen tovább tudunk így menni, hogy még részletesebb képet kapjunk, de az adatokat idáig csak hierarchikus szinten vizsgáltuk.

Most tovább fogunk menni a részletekben, és egyszerre két vagy három változót fogunk megvizsgálni. Ehhez pivot táblákat és azok vizuális megfelelőit, a pivot hőtérképeket fogjuk használni.

Először létrehozunk egy pivot_count függvényt, hasonlóan a korábban létrehozott agg_count függvényhez, amely az általunk megadott sorokkal, oszlopokkal és számított mezőkkel pivot táblává alakítja.

Ez rendben van, de vizuálisan gyorsabb lenne az elemzés. Készítsünk egy hőtérképet, amely színekkel jelzi a számok nagyságát, és intuitívabb képet ad nekünk.

Következtetés

Ebben a bejegyzésben sok mindent áttekintettünk és remélem, hogy sikerült jó példákat hoznom arra, hogy hogyan lehet néhány eszközzel a tarsolyodban elindulni és érdekes felfedezéseket tenni az adataidban.

Most, hogy már van egy kis struktúrája a folyamatnak és van néhány eszközöd, engedd szabadjára a kreativitásod és találj ki olyan szűrő-, összesítő-, pivot- és egyéb kombinációkat, amelyek a legérdekesebbek eredményeket hozzák.

Kísérletezz bátran!

A post-sorozat többi tagja

Scroll to Top