Mengurus Memori Apabila Bekerja dengan Pangkalan Data Besar dan Bingkai Data Panda
Memproses pangkalan data yang besar dan memuatkannya terus ke Pandas DataFrames selalunya membawa kepada ralat ingatan. Walaupun pertanyaan yang lebih kecil mungkin berfungsi, melebihi kapasiti memori sistem menyebabkan masalah. Nasib baik, Pandas menawarkan penyelesaian yang cekap untuk mengendalikan set data sedemikian.
Kaedah Iterator Saiz Ketulan
Sama seperti memproses fail CSV yang besar, fungsi read_sql
Pandas menyediakan parameter iterator
dan chunksize
. Menetapkan iterator=True
dan menentukan chunksize
membolehkan memproses pertanyaan pangkalan data dalam bahagian yang boleh diurus.
Contoh Kod:
<code class="language-python">import pandas as pd sql = "SELECT * FROM MyTable" chunksize = 10000 # Adjust as needed for chunk in pd.read_sql_query(sql, engine, chunksize=chunksize): # Process each chunk individually</code>
Pendekatan berulang ini menghalang beban memori dengan memproses data dalam kenaikan yang lebih kecil dan terkawal.
Strategi Tambahan untuk Mengendalikan Set Data yang Sangat Besar
Jika kaedah chunksize tidak mencukupi, pertimbangkan alternatif ini:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelak Ralat Memori Semasa Mencipta Bingkai Data Panda Besar daripada Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!