¿Usando el mapa de multiprocesamiento con un dataframe de pandas?

Estoy usando la función de mapa de panda (de python’s) para procesar un gran archivo CSV (~ 50 gigabytes), como este:

import pandas as pd df = pd.read_csv("huge_file.csv") df["results1"], df["results2"] = df.map(foo) df.to_csv("output.csv") 

¿Hay alguna manera en que pueda usar la paralelización en esto? ¿Tal vez usando la función de mapa de multiprocesamiento?

Gracias jose

Vea los documentos sobre la lectura en trozos aquí , ejemplo aquí , y adjunto aquí

Es mucho mejor leer su csv en trozos, procesarlo y luego escribirlo en un csv (por supuesto que es mejor convertirlo a HDF).

  • Toma una cantidad relativamente constante de memoria
  • eficiente, se puede hacer en paralelo (por lo general, requiere tener un archivo HDF del que se puedan seleccionar las secciones; sin embargo, un csv no es bueno para esto).
  • Menos complicado que intentar hacer multiprocesamiento directamente.