получение объекта 'int' не является повторяемой ошибкой для numpy - PullRequest
0 голосов
/ 01 июля 2018

Так что это часть моего кода, которая вызывает ошибку. assignments - это словарь с ключом и индексами массива numpy как элементов данные и центроиды являются массивами.

Я не могу понять, почему я получаю ошибку Объект 'int' не повторяется, когда выполняется строка 'try'. Иногда это работает просто отлично, но иногда нет. Любая помощь будет высоко оценена

for key in self.assignments:
    clust_sum = 0
    for k in self.assignments[key]:
        clust_sum += data[k]
    print(key, clust_sum)
    try:
        self.centroids[key] = [
        m / len(self.assignments[key]) for m in clust_sum]
    except Exception as e:
        print(e)

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Заменить for m in clust_sum на for m in range(0,clust_sum).

0 голосов
/ 01 июля 2018

Проблема в for m in clust_sum, clust_sum - это int, и вы не можете перебрать объект int. Я не знаю точно, что вы хотите сделать, но если вы хотите запустить for loop количество clust_sum раз, вы можете сделать так:

for key in self.assignments:
clust_sum = 0
for k in self.assignments[key]:
    clust_sum += data[k]
print(key, clust_sum)
try:
    self.centroids[key] = [
    m / len(self.assignments[key]) for m in range(clust_sum)]
except Exception as e:
    print(e)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...