pandas
Főnév
pandas (tsz. pandases)
- (informatika) A pandas egy nyílt forráskódú Python könyvtár, amely hatékony és egyszerű adatkezelést és elemzést biztosít táblázatos formában (például Excel táblázatokhoz hasonló adatstruktúrákkal). A pandas különösen népszerű az adatelemzés, adattisztítás és adatok előkészítése területén, és széles körben használják tudományos, üzleti és pénzügyi alkalmazásokban. A pandas az egyik legfontosabb Python eszköz a data science és adatelemzés területén.
Főbb jellemzői:
- DataFrame és Series adatstruktúrák: A pandas két alapvető adatstruktúrája a DataFrame és a Series. A DataFrame egy táblázat, amely sorokból és oszlopokból áll, míg a Series egy egydimenziós adatsor, amelyet gyakran egy DataFrame oszlopaként használnak.
- Egyszerű adatimportálás és exportálás: A pandas támogatja az adatok be- és kimenetét különböző formátumokban, például CSV, Excel, SQL adatbázisok, JSON és más fájlformátumok. Ez lehetővé teszi, hogy különböző forrásokból egyszerűen dolgozzunk adatokkal.
- read_csv(): CSV fájlok beolvasása.
- to_csv(): DataFrame exportálása CSV fájlba.
- read_excel(): Excel fájlok beolvasása.
- Adatok tisztítása: A pandas segítségével könnyedén tisztíthatók és átalakíthatók az adatok. Például eltávolíthatod az üres cellákat, helyettesítheted a hibás adatokat, vagy átformázhatod az adatszerkezeteket.
- Adatkezelési műveletek: A pandas támogatja az adatok szűrését, rendezését, csoportosítását, és összetett lekérdezéseket tesz lehetővé.
- groupby(): Az adatok csoportosítására és összegzésére.
- merge(): Különböző DataFrame-ek összekapcsolása.
- pivot() és pivot_table(): Táblázatok átrendezése.
- Időalapú adatok kezelése: A pandas erős támogatást nyújt az időalapú adatok kezeléséhez. Könnyen kezelhetők időbélyegek, dátumok és időtartamok.
- pd.to_datetime(): Dátumokká alakítja a sztringeket.
- resample(): Adatok újramintavételezése, például napi adatokból havi adatok készítése.
- Integráció más könyvtárakkal: A pandas jól integrálható más Python könyvtárakkal, például a NumPy-val (nagy teljesítményű számításokhoz) és a Matplotlib-vel (adatvizualizációhoz).
Telepítés:
A pandas telepítése a Python csomagkezelőjével (pip) történik:
pip install pandas
Alapvető műveletek pandas-szal:
1. DataFrame létrehozása:
Az egyik leggyakoribb adatstruktúra a pandasban a DataFrame, amely sorokból és oszlopokból áll.
import pandas as pd
data = {'Név': ['Anna', 'Béla', 'Cecília'],
'Kor': [25, 30, 22],
'Város': ['Budapest', 'Debrecen', 'Szeged']}
df = pd.DataFrame(data)
print(df)
Ez az adatszerkezet a következő táblázatot hozza létre:
Név Kor Város 0 Anna 25 Budapest 1 Béla 30 Debrecen 2 Cecília 22 Szeged
2. Adatok beolvasása CSV fájlból:
A pandas egyszerűvé teszi az adatok beolvasását különböző fájlformátumokból, például CSV fájlokból.
df = pd.read_csv('adatok.csv')
print(df.head()) # Az első 5 sor megjelenítése
3. Oszlopok elérése és módosítása:
Az oszlopok és sorok egyszerűen elérhetők, módosíthatók vagy szűrhetők.
- Oszlop elérése:
print(df['Név'])
- Új oszlop hozzáadása:
df['Magasság'] = [165, 180, 170]
4. Adatok szűrése:
Adatok szűrése feltételek alapján, például azokra a személyekre, akik 25 évnél idősebbek:
filtered_df = df[df['Kor'] > 25]
print(filtered_df)
5. Csoportosítás és összegzés:
A groupby() függvény használatával egyszerűen csoportosíthatók az adatok, és különböző statisztikai műveletek végezhetők rajtuk:
grouped = df.groupby('Város')['Kor'].mean()
print(grouped)
Ez a városonkénti átlagéletkort számolja ki.
6. Hiányzó értékek kezelése:
A pandas megkönnyíti a hiányzó adatok kezelését, például a hiányzó értékek kitöltését vagy eltávolítását.
- Hiányzó értékek ellenőrzése:
print(df.isnull())
- Hiányzó értékek eltávolítása:
df_cleaned = df.dropna()
- Hiányzó értékek kitöltése:
df_filled = df.fillna(0)
7. Adatok exportálása:
Az adatokat könnyedén exportálhatjuk különböző formátumokba, például CSV-be.
df.to_csv('kimenet.csv', index=False)
Idősorok kezelése:
A pandas erős támogatást nyújt az időalapú adatok kezeléséhez. Például idősorok létrehozása és újramintavételezése:
# Idősor létrehozása
rng = pd.date_range('2024-01-01', periods=10, freq='D')
df_time = pd.DataFrame({'Dátum': rng, 'Érték': range(10)})
df_time.set_index('Dátum', inplace=True)
# Újramintavételezés heti adatokra
df_resampled = df_time.resample('W').sum()
print(df_resampled)
pandas előnyei:
- Könnyű használat: A pandas egyszerű szintaxist és intuitív adatstruktúrákat biztosít, amelyek megkönnyítik az adatelemzést és az adatok kezelését.
- Hatékony adatkezelés: A pandas gyors és hatékony adatfeldolgozást biztosít még nagy méretű adatkészletek esetén is.
- Sokoldalúság: A pandas támogatja a különböző formátumokból származó adatok beolvasását és feldolgozását, például CSV, Excel, SQL adatbázisok és JSON formátumok.
- Erős adatmanipulációs képességek: A pandas segítségével könnyedén elvégezhetők összetett adatelemzési feladatok, például csoportosítás, rendezés, szűrés és pivot táblázatok készítése.
- Integráció más könyvtárakkal: A pandas könnyedén integrálható a Python ökoszisztémán belül más népszerű könyvtárakkal, például a NumPy-val és a Matplotlibgel.
pandas hátrányai:
- Memóriahasználat: A pandas adatstruktúrái memóriában tárolják az adatokat, így nagy adatkészletek esetén megnövekedhet a memóriahasználat.
- Teljesítmény nagy adatkészleteknél: Bár a pandas hatékony, nagyon nagy méretű adatkészletek (több GB-os fájlok) esetén a teljesítménye korlátozott lehet. Ezekre az esetekre lehet szükség nagyobb skálázhatóságú eszközökre, mint például a Dask vagy a PySpark.
Összefoglalás:
A pandas az egyik legfontosabb Python könyvtár az adatelemzéshez, adattisztításhoz és előfeldolgozáshoz. A DataFrame és Series adatstruktúrák segítségével könnyedén kezelhetők és manipulálhatók az adatok, miközben számos hasznos funkció áll rendelkezésre a gyors és hatékony adatfeldolgozásra.