我正在尝试使用ipython并行模块将多个pandas数据帧写入csv,因为这样做是非常慢的。
以下是我想要做的一个小例子:
from IPython.parallel import Client
import pandas as pd
import numpy as np
rc = Client(profile='small_cluster')
dview = rc[:]
df1 = pd.DataFrame(np.arange(9).reshape(3, 3), columns=list('abc'))
df2 = pd.DataFrame(np.arange(9).reshape(3, 3), columns=list('xyz'))
def df_to_file(df, filepath):
df.to_csv(filepath)
h = dview.map_sync(df_to_file, [df1, df2], ['df1.csv', 'df2.csv'])
虽然函数没有返回语句,但运行没有错误,因此h
是None
的列表(并且没有任何内容写入磁盘)。这显然不是正确的方法。我已成功操作内存中的数据帧,但无法弄清楚是否可以将它们并行写入磁盘。非常感谢任何帮助。