我想获取我的k-means结果数据框的熵,并且得到错误:TypeError:'numpy.int32'对象不可迭代 I不明白为什么。Python类型错误:'numpy.int32'对象是不可迭代的
from collections import Counter
def calcEntropy(x):
p, lens = Counter(x), np.float(len(x))
return -np.sum(count/lens*np.log2(count/lens) for count in p.values())
k_means_sp['entropy']=[calcEntropy(x) for x in k_means_sp['cluster']]
,然后我得到的错误信息:
in ()
----> 1 k_means_sp['entropy']=[calcEntropy(x) for x in k_means_sp['cluster']]
in (.0)
----> 1 k_means_sp['entropy']=[calcEntropy(x) for x in k_means_sp['cluster']]
in calcEntropy(x)
1 from collections import Counter
2 def calcEntropy(x):
----> 3 p, lens = Counter(x), np.float(len(x))
4 return -np.sum(count/lens*np.log2(count/lens) for count