Middle
Ինչպե՞ս շրջանցել Pandas-ում մեծ ֆայլերի մշակման խնդիրը, որոնք չեն տեղավորվում հիշողության մեջ։
sobes.tech AI
Պատասխան AI-ից
Pandas-ով մեծ ֆայլերի մշակումը, որոնք չեն տեղավորվում հիշողության մեջ, կարող է իրականացվել մի քանի մոտեցումներով:
- Կտրատումով ընթերցում (chunking)
Օգտագործեք
chunksizeպարամետրը ընթերցման ֆունկցիաներում, օրինակpd.read_csv(), որպեսզի տվյալները բեռնվեն մասերով և մշակվեն առանձին:
import pandas as pd
chunksize = 10**6 # տողերի քանակը մեկ մասում
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# յուրաքանչյուր մասի մշակումը
process(chunk)
-
Մեծ տվյալների հետ աշխատելու գրադարանների օգտագործում
- Dask DataFrame — API, որը համատեղելի է Pandas-ի հետ, աջակցում է դանդաղ հաշվարկներին և տարածված մշակմանը:
- Vaex — թույլ է տալիս աշխատել մեծ տվյալների հավաքածուներով առանց全部 բեռնելու հիշողության մեջ:
-
Տվյալների տիպերի օպտիմալացում Երբ ընթերցում եք տվյալները, հստակ նշեք սյունակների տիպերը, որպեսզի նվազեցնեք հիշողության սպառումը (օրինակ, օգտագործեք
categoryտեքստային սյունակների համար, որոնք ունեն կրկնվող արժեքներ): -
Տվյալների բազաների կամ մասամբ բեռնման աջակցություն ունեցող ֆորմատների օգտագործում Տվյալները բեռնեք տվյալների բազա (օրինակ, SQLite) և կատարեք հարցումներ մասերով:
Այսպիսով, համատեղելով մասամբ ընթերցումը և տիպերի օպտիմալացումը, կարող եք արդյունավետ աշխատել մեծ ֆայլերի հետ Pandas-ում: