在数组括号内使用python非零函数

在数组括号内使用python非零函数,python,numpy,machine-learning,Python,Numpy,Machine Learning,我正在查看链接的GitHub存储库并阅读MLA机器学习书籍,偶然发现了这段代码,不明白这里发生了什么。这里发生了什么?有没有更好、更明确的方法来编写这段python 此函数引发以下错误: local variable 'bestClustAss' referenced before assignment 我的想法是这样的: if(nonzero(bestClustAss[:,0].A == 1) bestClustAss ....... = len(cenList) if(nonz

我正在查看链接的GitHub存储库并阅读MLA机器学习书籍,偶然发现了这段代码,不明白这里发生了什么。这里发生了什么?有没有更好、更明确的方法来编写这段python

此函数引发以下错误:

local variable 'bestClustAss' referenced before assignment
我的想法是这样的:

if(nonzero(bestClustAss[:,0].A == 1)
     bestClustAss ....... = len(cenList)
if(nonzero(bestClustAss[:,0].A == 0)
     bestClustAss ....... = bestCentToSplit

但我对python还是太陌生了,无法独自解决这个问题。

您没有展示
bestClustAss
是如何创建的。这是怎么一回事?该错误意味着尚未创建它,或者存在名称错误。我认为你的重写不会解决这个问题。在[14]中的链接代码中,
bestClustAss
是在循环和
if
表达式中创建的。如果不深入了解细节,我可以想象一些情况,比如它没有被创建,在循环之后产生这个错误。
if(nonzero(bestClustAss[:,0].A == 1)
     bestClustAss ....... = len(cenList)
if(nonzero(bestClustAss[:,0].A == 0)
     bestClustAss ....... = bestCentToSplit