我可以用什么方法加速这个for循环或使用其他方法?我想做一些地图或列表的理解
Query = [5,7,9,10,12,13,14,16]
Top = range(1,30)
X = range(5,17)
Limit = range(1,20)
Results = []
#Test1 is a function
for Q in tqdm(Query):
for t in Top:
for x1 in X:
for l in Limit:
df1 = Test1(df = pred2,Results = QBResults,Query = Q ,Top = t, X = x1, Limit = l)
df2 = Test1(df = TestDF,Results = QBResults,Query = Q ,Top = t, X = x1, Limit = l)
df1['Query'] = Q
df1['Top'] = t
df1['X'] = x1
df1['Limit'] = l
df1['Df1AggScore'] = df1['AggScore']
df1['Df2AggScore'] = df2['AggScore']
df1['Df1TopScore'] = df1['TopScore']
df1['Df2TopScore'] = df2['TopScore']
df1['Diff'] = np.abs(df1['Df1AggScore'] - df1['Df2AggScore'])
df1['Diff'] = np.abs(df1['Df1TopScore'] - df1['Df2TopScore'])
Results.append(df1)
Opt = pd.concat(Results)
Opt.sort_values(by='Df2TopScore', ascending=False)
itertools
模块有一个函数product
,它返回笛卡尔积生成器。使用此函数,可以将代码从使用四个for
循环重构为使用一个循环相关问题 更多 >
编程相关推荐