Middle
Pandas'ta bellekte yer almayan büyük dosyaların işlenmesi sorununu nasıl aşabilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Pandas'ta belleğe sığmayan büyük dosyaları işlemek için birkaç yaklaşım kullanılabilir:
- Parça okuma (chunking)
pd.read_csv()gibi okuma fonksiyonlarındachunksizeparametresini kullanarak verileri parçalara ayırıp ayrı ayrı işleyebilirsiniz:
import pandas as pd
chunksize = 10**6 # bir parça içindeki satır sayısı
for chunk in pd.read_csv('large_file.csv', chunksize=chunksize):
# her parçayı ayrı ayrı işleme
process(chunk)
-
Büyük veri ile çalışma kütüphanelerinin kullanımı
- Dask DataFrame — Pandas ile uyumlu API, ancak tembel hesaplamaları ve dağıtık işlemi destekler.
- Vaex — tüm veriyi belleğe yüklemeden büyük veri setleriyle çalışma imkanı sağlar.
-
Veri tiplerinin optimize edilmesi Veriyi okurken, bellek kullanımını azaltmak için sütun tiplerini açıkça belirtin (örneğin, tekrar eden değerler içeren string sütunları için
categorykullanmak). -
Veritabanları veya kısmi yüklemeyi destekleyen formatlar kullanmak Verileri bir veritabanına (örneğin, SQLite) yükleyip, parça parça sorgular yapabilirsiniz.
Bu şekilde, parça okuma ve tip optimizasyonunu birleştirerek Pandas'ta büyük dosyalarla verimli bir şekilde çalışabilirsiniz.