J'ai pensé que j'apporterais plus de données à la discussion.
J'ai effectué une série de tests sur ce problème.
En utilisant le resource
package python , j'ai obtenu l'utilisation de la mémoire de mon processus.
Et en écrivant le csv dans un StringIO
tampon, je pourrais facilement en mesurer la taille en octets.
J'ai mené deux expériences, chacune créant 20 dataframes de tailles croissantes entre 10 000 lignes et 1 000 000 lignes. Les deux ayant 10 colonnes.
Dans la première expérience, j'ai utilisé uniquement des flottants dans mon ensemble de données.
C'est ainsi que la mémoire a augmenté par rapport au fichier csv en fonction du nombre de lignes. (Taille en mégaoctets)
La deuxième expérience, j'ai eu la même approche, mais les données de l'ensemble de données ne consistaient que de courtes chaînes.
Il semble que la relation entre la taille du csv et la taille de la trame de données peut varier beaucoup, mais la taille en mémoire sera toujours plus grande d'un facteur 2-3 (pour les tailles de trame de cette expérience)
J'aimerais compléter cette réponse avec plus d'expériences, veuillez commenter si vous voulez que j'essaye quelque chose de spécial.
top
puisShift + M
de trier mon utilisation de la mémoire.