我有一个名为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)我得到了一个错误"resampling()接受一个位置参数,但给了14个位置参数“--基本上14是数据格式中的列数。
发布于 2020-08-15 22:14:03
starmap之所以这样命名,是因为它将子集合应用于函数,而不是直接传递它们:
.starmap(f, coll) ~= .map(lambda sub: f(*sub), coll)如果要将子集合作为单个参数传递,请使用普通的map。
https://stackoverflow.com/questions/63431159
复制相似问题