gpt4 book ai didi

python - 使用python并行输入

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:12 26 4
gpt4 key购买 nike

我正在类里面完成一项作业,我现在意识到这可能有点超出我的能力范围(这是我完成任何编程的第一学期)

规定是我使用 mpi 进行并行编程。

我必须输入一个高达 1 TB 的 csv 文件,其中包含本地可能无法排序的滴答数据(每微秒)。对数据运行一个进程来识别噪声,并输出清理后的数据文件。

我使用 Pandas 编写了一个串行程序,该程序通过数据确定显着的异常值并将它们写入标记为噪声的数据集,然后通过基于索引(时间)进行原始减去噪声来创建最终数据集

我不知道从哪里开始对程序进行并行化。我明白,因为我的计算都是本地的,所以我应该从 csv 并行导入并运行该过程来识别噪声。

我相信做到这一点的最佳方法(我可能完全错误)是分散运行计算并使用 hdf5 进行收集。但我不知道如何实现这一点。

我不希望有人编写整个代码,但也许是从 csv 并行导入并重新收集数据的具体示例,或者是解决问题的更好方法。

最佳答案

如果您可以将程序简化为针对行列表运行的函数,那么简单的多处理方法将是简单且有效的。例如:

from multiprocessing import Pool 

def clean_tickData(filename):
<your code>

pool = Pool()
pool.map(clean_tickData, cvs_row)
pool.close()
pool.join()
Pool 中的

map 并行运行。人们可以控制并行进程的数量,但默认情况下(使用空 Pool() 调用设置)会启动与 CPU 核心数量相同的进程。因此,如果您将清理工作减少为可以在 cv 中的各个行上运行的函数,那么使用 pool.map 将是一个简单而快速的实现。

关于python - 使用python并行输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307142/

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