Middle
Pandas-da yaddaşda yer tutmayan böyük faylların işlənməsi problemini necə həll etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Pandas-da 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:
- Hissə-hissə oxuma (chunking)
pd.read_csv()kimi oxuma funksiyalarındachunksizeparametrində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)
-
Böyük məlumatlar ilə işləmək üçün kitabxanaları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.
-
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
categoryistifadə edin). -
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.