python - 为什么 python 多处理对单核进程的结果略有不同?
问题描述
我正在使用多处理 python 包在 pandas data.frame 对象的单行上运行一个函数。我使用单核(列表理解)和多处理 star.map 运行我的函数。该函数的第一行是 pandas.read_csv,用于导入一个执行多个计算的 data.frame。单核和多核怎么可能给我不同的结果?我在函数的一部分下面发布:
def function(tupleargs):
import pandas as pd
import re
import operator
from itertools import product
db=tupleargs[0]
pos=tupleargs[1]
mut=tupleargs[2]
db=pd.read_csv(db,delimiter="\t")
...
return(smtg)
在单核模式下,我运行如下函数:
lst=[function(t) for t in tupleargs]
在多核模式下,我以这种方式运行该函数:
if __name__ == '__main__':
with multiprocessing.Pool(processes=8) as pool:
lst=pool.map(function,tupleargs )
任何帮助,将不胜感激
解决方案
推荐阅读
- ms-access - 为什么我的查询不可更新阻止我用它更新表?
- c# - PDF 页面上的剩余空间
- javascript - 使用 NumeralJS 格式化数字不输出我所期望的
- r - Calculate cumulative (100%) percentage from column cumulative range
- python-3.x - 在python中更改图像上的文本
- javascript - How instanceof works?
- unity3d - Unity - 将图像从 WebGL 应用程序保存到用户机器
- file - 如何删除第一个加入的行 Talend DI
- azure - Puid is null/empty. Puid must be present in the header for user to get authorized
- r - R函数在同一列中搜索和计算多个条件?