这是我的函数,在执行过程中发生错误。所以有什么办法可以在发生错误的行之前访问变量的值?
像这里一样,错误发生在“ df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
”上,所以我想访问real_rating
和predicted_rating
变量的值?
def calc_MAE_system(targetClusterTestUserDict,final_clusters):
real_rating=[]
predicted_rating=[]
for i in range(0,length):
real_rating.append(test.iloc[i]['rating'])
temp_rating=predict_rating(final_clusters,test.iloc[i]['userId'],userBelongsToCluster,test.iloc[i]['movieId'],temp_df_rating)
predicted_rating.append(temp_rating)
df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
df.to_csv("rating_comparison_online_phase.csv", sep='\t')
if(length != 0):
mae=sum/length
else:
mae=0
return mae
答案 0 :(得分:0)
当然,您可以使用'try'和'except'。如果“ try”中的代码不起作用,它将使用“ except”中的代码。 例如
try:
df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
except:
print("Error: real_rating = " + str(real_rating) + ", predicted_rating = " + str(predicted_rating))
如果无法创建数据框,它将打印以下内容:
Error: real_rating = xxxxx, predicted_rating = yyyy