Pandas veri çerçeveleri, sütunların veri tiplerini otomatik tanıyabilir ancak bu otomasyon her zaman en iyi performansı sağlamaz. Özellikle büyük veri setlerinde int ve float yerine category tipi kullanmak bellek kullanımını düşürür ve işleme hızını artırır. to_datetime fonksiyonunu kullanarak tarih sütunlarını zaman serilerine dönüştürmeyen verilerden kaçının.
Dosya okuma sırasında usecols parametresi ile sadece ihtiyaç duyulan sütunları seçmek, I/O süresini kısaltır. Özellikle CSV ve Excel dosyalarında büyük veri setlerinde bu yöntem performance büyük katkı sağlar.
Veri çerçevelerinde tek bir index kolon kullanmak sorgu hızını artırır. Kombinasyonlar için MultiIndex veya set_index fonksiyonlarını kullanarak daha hızlı filtreleme ve gruplama işlemleri gerçekleştirebilirsiniz.
Pandas, Python’da tek tek döngülerden kaçınarak vector bazlı hesaplamalar sunar. apply yerine DataFrame.map veya NumPy fonksiyonları ile matris işlemlerini gerçekleştirmek, CPU kullanımını azaltır.
Çok büyük dosyalarla çalışıyorsanız chunksize parametresiyle veri setini bölerek bellek kullanımını kontrol altında tutabilirsiniz. Her bir parçayı işledikten sonra sonucu birleştirerek aynı çıktıyı elde edersiniz.
Pandas için paralel çözümler sunan Dask veya Modin kütüphaneleri, tek çekirdekli CPU’ya kıyasla çok daha yüksek hızlar elde etmenizi sağlar. Örneğin, Modin.DataFrame ile aynı kodu yazarken çoklu çekirdek desteğini kullanır.
İşlem tamamlandıktan sonra gereksiz sütunları silerek bellek boşaltabilirsiniz. del komutu ve gc.collect() ile çöp toplama işlemini tetikleyin. Ayrıca DataFrame.info(verbose=False) ile bellek kullanımını izleyin.