将参数作为数据帧进行多重处理



我有一个名为list1的列表,其中包含5个数据帧。我想同时将这些数据帧传递给一个函数,该函数将计算一些数学计算。我正在与下面的代码作斗争-

import multiprocessing 
import pandas as pd
tcn=[df1,df2,df3,df4,df5]
def resampling(tick):

data_k =  tick['price'].resample('1Min').ohlc()
return data_k

if __name__ == '__main__':
with multiprocessing.Pool(processes=len(tcn)) as p:
results = p.starmap(resampling, tcn)

我得到了一个错误";重采样((取1个位置参数,但给出了14个";基本上14是数据帧中的列数。

starmap之所以如此命名,是因为它将子集合应用于函数,而不是直接传递:

.starmap(f, coll) ~= .map(lambda sub: f(*sub), coll)

如果希望子集合作为单个参数传递,请改用纯map

相关内容

  • 没有找到相关文章

最新更新