平行列表理解?

2024-05-29 04:21:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含股票名称和价格以及指数移动平均周期的

stock_data = dict()
stock_data['AOT_day'] = [1,2,3,4,5]
stock_data['AOT_week'] = [1,2,3,4,5]
ema_periods = [2, 3]

我用字典理解法计算了ema:

ema_dict = dict((key, dict((period, ema(stock_data[key], period)) for period in ema_periods)) for key in stock_data.keys())

我的结果:

>>>> {'AOT_day': {2: ['nan', '37.62', '38.04', '38.18', '38.39'], 3: ['nan', 'nan', '37.83', '38.04', '38.27']}, 'AOT_week': {2: ['nan', '37.62', '36.21', '36.40', '37.30'], 3: ['nan', 'nan', '36.92', '36.71', '37.23']}}

之后,我试图使它平行测试时间elaspe,但我的输出是错误的

代码:

def gen_ema(stock_data, key, periods):
    result = dict((period, ema(stock_data[key], period)) for period in periods)
    return result

num_cores = multiprocessing.cpu_count()

results = Parallel(n_jobs=num_cores)(delayed(gen_ema)(stock_data, key, ema_periods) for key in stock_data.keys())

我的结果:

>>>> [{2: ['nan', '37.62', '38.04', '38.18', '38.39'], 3: ['nan', 'nan', '37.83', '38.04', '38.27']}, {2: ['nan', '37.62', '36.21', '36.40', '37.30'], 3: ['nan', 'nan', '36.92', '36.71', '37.23']}]

我试图使第二个结果与第一个结果相同,但我搞糊涂了。你知道吗

谢谢你。你知道吗


Tags: keyinfordatastocknankeysdict

热门问题