第一次多处理,无法正常运行

时间:2017-10-25 18:17:00

标签: python pandas multiprocessing

这是我的代码:

def feature(x):
    times = []
    for j in array:
        pat = x[x.id == j]
        min_dates_j = pat.groupby(["event_description"]).min()

        try:
            time = ((min_dates_j.loc["test1","event_description"] -  min_dates_j.loc["test2","event_description"]).days) 
        except:
            time = np.NaN()

        times.append(time)

        return times

from multiprocessing import Pool

p = Pool(10)

times = p.map(feature, df)

feature_df["A"] = times  

此代码需要很长时间才能运行,因此我尝试使用多处理来加快编译时间。任何帮助将非常感激。

我查看了pool函数我不太明白为什么它没有改善性能。

编辑:

我想提一下我的数据集包含20494463行,而我的系统有16个cpus。

p = Pool(16)

times = p.map(feature, np.array_split(df,150))

0 个答案:

没有答案