【发布时间】:2018-04-20 13:23:44
【问题描述】:
for j in range(0, NumberOfFeatures):
for k in range(j+1,NumberOfFeatures):
countArray = np.ones((2,2))
for i in range(0,NumberOfTrainingExamples):
countArray[XTrain[i,j],XTrain[i,k]] += 1
对于大的NumberOfFeatures、NumberOfTrainingExamples,最里面的for循环需要相当长的时间
【问题讨论】:
-
此代码示例不完整
-
我需要每个 j&k 的 countArray。我用它来计算一些其他参数,然后可以重置它。这就是为什么我只需要对最里面的 for 循环进行更快的计算。
-
此代码示例不完整
-
因为在循环结束后你从不引用
countArray,而且实际上代码根本不产生任何输出,你可以完全删除循环,结果将是相同的,但要快得多。 (如果你在想“但我确实在循环之后使用countArray,并且我确实输出信息”,那么该代码也应该作为minimal reproducible example的一部分出现在问题中)跨度> -
我不认为你可以让它运行得更快。 Python 中的数组很慢。如果您需要快速数组,请考虑 PHP。否则,请尝试以不同的方式解决您的问题——将其放入数据库并编写查询(例如)。 stackoverflow.com/questions/36778568/…
标签: python performance for-loop