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:
- Andmete osaline lugemine (chunking)
Kasutage lugemisfunktsioonides parameetrit
chunksize, näitekspd.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)
-
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.
-
Andmetüüpide optimeerimine Andmete lugemisel määrake selgelt veergude tüübid, et vähendada mälu kasutust (näiteks kasutage
categorytekstiveergudele, millel on korduvad väärtused). -
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.