MemoryError quand j'ai fusionner les deux Pandas trames de données

J'ai cherché presque partout sur l'internet et en quelque sorte, aucune des approches semblent fonctionner dans mon cas.

J'ai deux gros fichiers csv (avec chacun un million de+ lignes et environ 300-400 MO taille). Ils sont de chargement fine dans des trames de données à l'aide de la read_csv fonction sans avoir à utiliser la chunksize paramètre.
J'ai même effectué certaines opérations mineures sur ces données, comme la nouvelle génération de colonnes, filtrage, etc.

Cependant, lorsque j'essaie de fusionner ces deux images, je reçois un MemoryError. J'ai même essayé d'utiliser SQLite pour accomplir la fusion, mais en vain. L'opération prend une éternité.

Le mien est un PC Windows 7 avec 8 go de RAM. La version de Python est de 2,7

Merci.

Edit: j'ai essayé de segmentation des méthodes de trop. Quand je fais cela, je n'ai pas MemoryError, mais l'utilisation de la RAM explose et mon système se bloque.

Ce code vous aide à les fusionner?
merge_df = pandas.de fusion(df1, df2, left_on = "Colname1", right_on = "Colname2")
Vous utilisez une version 64 bits de Python?
Oui. Je suis aide d'une version 64 bits de Python 2.7. Actuellement, Anaconda 4.3 (avec la Spyder 3) est installé sur mon système.
Pourriez-vous collez les premières lignes de chaque dataframe? Les Chances sont, vous êtes en train de faire une fusion qui est différente de l'opération que vous le souhaitez. (À partir de mon expérience, la plupart des opérations de jointure impliquant dataframes moins de 1 go de terminer dans une échelle de temps de quelques secondes, mais bien sûr, cela dépend du type de jointure ainsi que la structure des données.)

OriginalL'auteur Ronit Chidara | 2017-11-20