Sobes.tech
Middle

Hogyan kerülhető el a Pandasban a nagy fájlok feldolgozásának problémája, amelyek nem férnek be a memóriába?

sobes.tech MI

Válasz az MI-től

A Pandasban nagy fájlok feldolgozásához, amelyek nem férnek el a memóriában, több megközelítés is alkalmazható:

  1. Részletekben olvasás (chunking) Használja a chunksize paramétert az olvasási függvényekben, például a pd.read_csv()-ban, hogy adatokat darabokra töltse be és külön-külön dolgozza fel:
import pandas as pd

chunksize = 10**6  # sorok száma egy darabban
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
    # minden darab külön feldolgozása
    process(chunk)
  1. Nagy adatokkal való munka könyvtárainak használata

    • Dask DataFrame — Pandas-szal kompatibilis API, támogatja a késleltetett számításokat és a elosztott feldolgozást.
    • Vaex — lehetővé teszi nagy adathalmazokkal való munkát anélkül, hogy az összeset betöltené a memóriába.
  2. Adattípusok optimalizálása Olvasás közben határozza meg explicit módon az oszlop típusokat, hogy csökkentse a memóriahasználatot (például category használata ismétlődő szöveges oszlopokhoz).

  3. Adatbázisok vagy részleges betöltést támogató formátumok használata Töltse az adatokat adatbázisba (például SQLite), és végezzen lekérdezéseket részletekben.

Az így kombinálva a részleges olvasást és az adattípusok optimalizálását, hatékonyan lehet nagy fájlokkal dolgozni Pandasban.