python - 如何在python中并行化涉及多个参数的函数?
问题描述
我有一个功能,
def Recommendation(df1,df2,array1,array2):
for i in range(len(df1)):
. #do something
.
.
result = {} #The result is a dictionary and is inserted into mongodb
db.collectionname.insert_one(result)
df1 数据量大,循环执行需要花费大量时间。如何使用多个参数在 python 中并行化这个过程?
def parallelize_dataframe(df,func):
df_split = np.array_split(df, num_partitions)
pool = Pool(num_cores)
pool.starmap(func,df_split)
pool.close()
pool.join()
num_partitions = 5
num_cores = 5
if __name__ == '__main__':
df1= pd.read_csv("filename.csv")
df2= pd.read_csv("filename2.csv")
array1 = numpy.array1 #Loading numpy array
array2 = numpy.array2
parallelize_dataframe(df1, Recommendation)
这个过程非常缓慢。我不确定工作是否分布在内核之间。请帮忙。
解决方案
推荐阅读
- outlook - 带有无视图正文的 eml 文件
- api - LinkedIn:按 VanityName 查找个人资料 - 批准的开发人员
- html - 我的 CSS 没有显示我的背景图片
- uicollectionview - 如何在 swift 4 ios 中像新闻行情一样平滑滚动 collectionViewCell
- python-3.x - 如何锁定现有 Excel 工作表中的特定列?
- javascript - 在JS中解压numpy数组
- c# - 如何在 c# 中将两个参数传递给 GraphQLHttpClient?
- php - 限制 Wordpress 成员的评论页面
- java - 收集 REDHAT Linux 服务器中 java 线程的详细信息
- angular - 在 Angular 中使用 FormArray 迭代文件上传和描述