Sobes.tech
Middle

Kuidas vältida Pandas suurte failide töötlemise probleemi, mis ei mahu mälu sisse?

sobes.tech AI

Vastus AI-lt

Suurte failide töötlemiseks Pandas'is, mis ei mahu mälu, saab kasutada mitmeid lähenemisviise:

  1. Andmete osaline lugemine (chunking) Kasutage lugemisfunktsioonides parameetrit chunksize, näiteks pd.read_csv(), et laadida andmeid osade kaupa ja töödelda neid eraldi:
import pandas as pd

chunksize = 10**6  # ridade arv ühes osas
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
    # iga osa töötlemine eraldi
    process(chunk)
  1. Raamatukogude kasutamine suurte andmekogumite töötlemiseks

    • Dask DataFrame — API, mis on Pandas'iga ühilduv, toetab laiskarvutusi ja jaotatud töötlemist.
    • Vaex — võimaldab töötada suurte andmekogumitega ilma kõiki andmeid mälu täitmata.
  2. Andmetüüpide optimeerimine Andmete lugemisel määrake selgelt veergude tüübid, et vähendada mälu kasutust (näiteks kasutage category tekstiveergudele, millel on korduvad väärtused).

  3. Andmebaaside või osalise laadimise toetavate formaatide kasutamine Laadige andmed andmebaasi (näiteks SQLite) ja tehke päringuid osade kaupa.

Kombineerides osalise lugemise ja tüüpide optimeerimise, saab tõhusalt töötada suurte failidega Pandas'is.