Gérer la mémoire lorsque vous travaillez avec des bases de données volumineuses et des DataFrames Pandas
Le traitement de bases de données volumineuses et leur chargement directement dans Pandas DataFrames entraînent souvent des erreurs de mémoire. Même si des requêtes plus petites peuvent fonctionner, le dépassement de la capacité de la mémoire système entraîne des problèmes. Heureusement, Pandas propose des solutions efficaces pour gérer de tels ensembles de données.
La méthode de l'itérateur Chunksize
Semblable au traitement de gros fichiers CSV, la fonction read_sql
de Pandas fournit les paramètres iterator
et chunksize
. Définir iterator=True
et spécifier un chunksize
permet de traiter la requête de base de données en portions gérables.
Exemple de code :
<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>
Cette approche itérative évite la surcharge de mémoire en traitant les données par incréments plus petits et contrôlés.
Stratégies supplémentaires pour gérer de très grands ensembles de données
Si la méthode chunksize n'est pas suffisante, envisagez ces alternatives :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!