我正在尝试使用 ipython 并行模块将多个熊猫数据帧写入 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'])
尽管该函数没有 return 语句,但它运行没有错误,因此h
是一个列表None
(并且没有任何内容写入磁盘)。这显然不是这样做的正确方法。我已经成功地操纵了内存中的数据帧,但无法确定是否可以将它们并行写入磁盘。任何帮助深表感谢。