x = data
y = np.zeros(len(x))
for epoch in range(iterations):
for k in range(num_cluster):
mean[k] = np.mean(x[y==k], axis=0)
Что значит x[y==k]? data имеет тип numpy.ndarray (с типом значений float)datay это numpy.ndarray из нулей размером в длину x (первое измерение) на 1 ([0, 0, ...])k здесь inty == k возвращает numpy.ndarray.__eq__(y, k); тип у такого - numpy.ndarray (bool)x[y == k] тоже самое, что и numpy.ndarray.__index__(x, y == k) то есть индекс от массива и массива булевых - выборка правдивых значений, хначит тип у этого тоже numpy.ndarray скорее всего от float