Python代码运行数小时,没有结果或错误
我正在运行以下代码。它已经运行了几个小时,没有任何结果。它使用一个称为df的1000行数据帧。它首先创建一个空矩阵,然后用原始数据帧中的值差(car)填充它。任何帮助都将不胜感激Python代码运行数小时,没有结果或错误,python,loops,for-loop,dataframe,Python,Loops,For Loop,Dataframe,我正在运行以下代码。它已经运行了几个小时,没有任何结果。它使用一个称为df的1000行数据帧。它首先创建一个空矩阵,然后用原始数据帧中的值差(car)填充它。任何帮助都将不胜感激 d_iff = np.empty(shape=(1000,1000), dtype="float") for i in range(1000): for j in range(1000): d_iff [i,j] = np.square(((df.car[i] - df.car[j])/0.5)) + np
d_iff = np.empty(shape=(1000,1000), dtype="float")
for i in range(1000):
for j in range(1000):
d_iff [i,j] = np.square(((df.car[i] - df.car[j])/0.5)) + np.square (((df.table[i] - df.table[j])/10))
你不能把它矢量化吗?放下内环,执行
d_iff[i,:]=np.square(((df.car[i]-df.car[:])/0.5))+np.square(((df.table[i]-df.table[:])/10)
(如果这很愚蠢,请不要责骂我)小时间选项:将df.car[i]
和df.table[i]
的值存储在局部变量中,以避免一直访问它们。你也用100100测试过吗?如果你想优化,你的想法是用更少的值来做一些事情,并尝试用这个设置来减少时间。然后,增加。我认为访问numpy数组很慢。它们不会被用作提高效率的载体。尝试转换为列表,并让我们知道它是如何进行的。你能发布一个示例数据集(5行),简要描述你试图实现的目标和预期/期望的数据集吗?它最终成功了。我很抱歉,但在我运行的代码中,我在循环中包含了另一个步骤,我认为这会减慢速度。你不能将其矢量化吗?放下内环,执行d_iff[i,:]=np.square(((df.car[i]-df.car[:])/0.5))+np.square(((df.table[i]-df.table[:])/10)
(如果这很愚蠢,请不要责骂我)小时间选项:将df.car[i]
和df.table[i]
的值存储在局部变量中,以避免一直访问它们。你也用100100测试过吗?如果你想优化,你的想法是用更少的值来做一些事情,并尝试用这个设置来减少时间。然后,增加。我认为访问numpy数组很慢。它们不会被用作提高效率的载体。尝试转换为列表,并让我们知道它是如何进行的。你能发布一个示例数据集(5行),简要描述你试图实现的目标和预期/期望的数据集吗?它最终成功了。我很抱歉,但在我运行的代码中,我在循环中包含了另一个步骤,我认为这会减慢速度。