Sobes.tech
Middle

Pandasта чоң файлдарды иштетүүдө жаӊылыштыкты кантип алдын алса болот, алар эс тутумга сыйбайт?

sobes.tech AI

AIден жооп

Pandas'ta böyük faylları işləmək üçün, onlar yaddaşda yerləşməyən halda, bir neçə yanaşma istifadə etmək mümkündür:

  1. Hissə-hissə oxuma (chunking) pd.read_csv() kimi oxuma funksiyalarında chunksize parametrindən istifadə edin, beləliklə məlumatları hissələrə yükləyib, onları ayrıca işləyə bilərsiniz:
import pandas as pd

chunksize = 10**6  # bir hissədəki sətir sayı
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
    # hər hissəni ayrıca işləmə
    process(chunk)
  1. Böyük məlumatlar ilə işləmək kitabxanalarının istifadəsi

    • Dask DataFrame — Pandas ilə uyğun API, lakin səbrsiz hesablama və paylanmış işləmə dəstəkləyir.
    • Vaex — bütün məlumatları yaddaşa yükləmədən böyük məlumat dəstləri ilə işləməyə imkan verir.
  2. Məlumat tiplərinin optimallaşdırılması Məlumatları oxuyarkən, yaddaş istifadəsini azaltmaq üçün sütun tiplərini açıq şəkildə göstərin (məsələn, təkrarlanan dəyərlər olan sətir sütunları üçün category istifadə edin).

  3. Verilənlər bazası və ya qismən yükləmə dəstəyi olan formatlardan istifadə Məlumatları SQLite kimi verilənlər bazasına yükləyin və hissə-hissə sorğular həyata keçirin.

Bu şəkildə, hissə-hissə oxuma və tiplərin optimallaşdırılmasını birləşdirərək, Pandas-da böyük fayllarla səmərəli işləmək mümkündür.