Mi az a Pandas?
A Pandas egy nyílt forráskódú Python könyvtár, amelyet táblázatos és idősoradatok hatékony kezelésére fejlesztettek ki. A neve az angol "panel data" kifejezésből ered, amely az ökonometriai adatstruktúrák egyik alapfogalma. A könyvtárat Wes McKinney kezdte el fejleszteni 2008-ban, és azóta az adatelemzés de facto standardjává vált Pythonban.
A Pandas két alapvető adatstruktúrát biztosít: a Series egy egydimenziós, indexelt adatsor, míg a DataFrame egy kétdimenziós, sorokat és oszlopokat tartalmazó táblázat. A legtöbb adatelemzési feladat DataFrame-ekkel zajlik.
A Pandas hivatalos dokumentációja elérhető a pandas.pydata.org oldalon, ahol részletes API-referencia és oktatóanyagok találhatók.
Adatok betöltése
A Pandas számos formátumból képes adatokat olvasni. A leggyakoribb forrás a CSV fájl, de támogatott az Excel, JSON, SQL, HTML és Parquet formátum is.
Az adatok betöltése után érdemes azonnal ellenőrizni az alaptulajdonságokat: sorainak és oszlopainak számát (shape), az oszlopok adattípusát (dtypes), és az első néhány sort (head()). Ez gyorsan képet ad az adathalmaz struktúrájáról.
Excel-fájlok kezelése
Excel-fájlok esetén a read_excel() függvény használható, amely több munkalap olvasását is lehetővé teszi. Az openpyxl csomag telepítése szükséges lehet .xlsx formátumhoz.
Adattisztítás
A valós adathalmazok szinte mindig tartalmaznak hibákat, hiányzó értékeket vagy következetlenségeket. Az adattisztítás a feldolgozás egyik legidőigényesebb, mégis megkerülhetetlen lépése.
Hiányzó értékek kezelése
A Pandas az NaN (Not a Number) értékkel jelöli a hiányzó adatokat. Ezeket különböző stratégiákkal lehet kezelni:
- Eltávolítás:
df.dropna()– azokat a sorokat törli, amelyek legalább egy hiányzó értéket tartalmaznak - Kitöltés konstanssel:
df.fillna(0)– a hiányzó értékeket egy meghatározott értékkel helyettesíti - Kitöltés átlaggal:
df['ár'].fillna(df['ár'].mean())– az oszlop átlagával tölti ki a hiányokat - Előre- vagy visszatöltés:
df.ffill(),df.bfill()– idősoroknál hasznos, az előző vagy következő értékkel pótol
Duplikátumok eltávolítása
Az ismétlődő sorok torzítják az összesítéseket és az elemzési eredményeket.
Szűrés és kiválasztás
A DataFrame-ek szűrése Boolean indexeléssel történik. Egyszerre több feltétel is alkalmazható az & (és) és | (vagy) operátorokkal.
Aggregáció és csoportosítás
A groupby() metódus lehetővé teszi az adatok csoportonkénti összesítését, hasonlóan az SQL GROUP BY záradékához.
Pivot táblák
A pivot_table() összetettebb kereszttáblák készítéséhez alkalmas, ahol egyszerre több dimenzió mentén lehet összesíteni.
Adatok exportálása
A feldolgozott adathalmazokat különböző formátumba lehet menteni a munkafolyamat más lépéseihez vagy jelentéskészítéshez.
Magyarországi alkalmazási területek
A Pandas és Python alapú adatelemzés Magyarországon elsősorban a pénzügyi szektorban, a közigazgatásban és a kutatásban terjedt el. A KSH (Központi Statisztikai Hivatal) nyilvánosan elérhetővé teszi számos statisztikai adatsorát, amelyek közvetlenül betölthetők Pandas segítségével.
A NAV (Nemzeti Adó- és Vámhivatal) és az MNB (Magyar Nemzeti Bank) is publikál strukturált adatokat, amelyek elemzéséhez a Pandas megfelelő eszköz. Az open data portálon (data.gov.hu) elérhető adatkészletek ugyancsak CSV vagy Excel formátumban tölthetők le.
A Pandas 2.0 verziótól kezdve a háttérben Apache Arrow alapú tárolás is elérhető, ami nagyobb adathalmazok esetén lényegesen gyorsabb feldolgozást tesz lehetővé.