Sobes.tech
Middle

Ինչպե՞ս շրջանցել Pandas-ում մեծ ֆայլերի մշակման խնդիրը, որոնք չեն տեղավորվում հիշողության մեջ։

sobes.tech AI

Պատասխան AI-ից

Pandas-ով մեծ ֆայլերի մշակումը, որոնք չեն տեղավորվում հիշողության մեջ, կարող է իրականացվել մի քանի մոտեցումներով:

  1. Կտրատումով ընթերցում (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)
  1. Մեծ տվյալների հետ աշխատելու գրադարանների օգտագործում

    • Dask DataFrame — API, որը համատեղելի է Pandas-ի հետ, աջակցում է դանդաղ հաշվարկներին և տարածված մշակմանը:
    • Vaex — թույլ է տալիս աշխատել մեծ տվյալների հավաքածուներով առանց全部 բեռնելու հիշողության մեջ:
  2. Տվյալների տիպերի օպտիմալացում Երբ ընթերցում եք տվյալները, հստակ նշեք սյունակների տիպերը, որպեսզի նվազեցնեք հիշողության սպառումը (օրինակ, օգտագործեք category տեքստային սյունակների համար, որոնք ունեն կրկնվող արժեքներ):

  3. Տվյալների բազաների կամ մասամբ բեռնման աջակցություն ունեցող ֆորմատների օգտագործում Տվյալները բեռնեք տվյալների բազա (օրինակ, SQLite) և կատարեք հարցումներ մասերով:

Այսպիսով, համատեղելով մասամբ ընթերցումը և տիպերի օպտիմալացումը, կարող եք արդյունավետ աշխատել մեծ ֆայլերի հետ Pandas-ում: