gpt4 book ai didi

python - 用于更快处理数据的多进程 Python/Numpy 代码

转载 作者:行者123 更新时间:2023-11-28 21:26:19 24 4
gpt4 key购买 nike

我正在读取数百个 HDF 文件并分别处理每个 HDF 的数据。但是,这会花费大量时间,因为它一次处理一个 HDF 文件。我只是偶然发现 http://docs.python.org/library/multiprocessing.html现在想知道如何使用多处理来加快处理速度。

到目前为止,我想到了这个:

import numpy as np
from multiprocessing import Pool

def myhdf(date):
ii = dates.index(date)
year = date[0:4]
month = date[4:6]
day = date[6:8]
rootdir = 'data/mydata/'
filename = 'no2track'+year+month+day
records = read_my_hdf(rootdir,filename)
if records.size:
results[ii] = np.mean(records)

dates = ['20080105','20080106','20080107','20080108','20080109']
results = np.zeros(len(dates))

pool = Pool(len(dates))
pool.map(myhdf,dates)

但是,这显然是不正确的。你能按照我的思路去做我想做的事吗?我需要更改什么?

最佳答案

尝试 joblib对于更友好的 multiprocessing 包装器:

from joblib import Parallel, delayed

def myhdf(date):
# do work
return np.mean(records)

results = Parallel(n_jobs=-1)(delayed(myhdf)(d) for d in dates)

关于python - 用于更快处理数据的多进程 Python/Numpy 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13065172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com