【发布时间】:2020-11-07 14:00:03
【问题描述】:
我有什么方法可以加快这个 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)
【问题讨论】:
-
请遵循python命名约定,变量应小写;)
-
这个问题更适合Code Review
-
@stovfl 在建议用户在 CR 上发帖时,如果还有类似“请阅读相关帮助中心页面,例如 'What topics can I ask about here?' 和 'How do I ask a good question?”。在当前形式中,需要更新标题以描述代码的作用,而不是 OP 的更改目标。
标签: python python-3.x performance for-loop list-comprehension