这是我的代码:
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))