Как сделать пустую матрицу с K строками? Тогда как мне добавить что-то в этот массив, введя его в эту конкретную строку? Я прошу, чтобы я мог найти среднее значение каждой строки после того, как я организовал значения для алгоритма k-средних, чтобы я мог установить новые центроиды.
Clabel = []
Cvalue = []
clusters = [] #This is what I want to have as a matrix
x = numpy.mean(df[:,0:d], axis = 1)
count = 0
for i in range(n):
temp = []
for j in range(k):
dist = numpy.linalg.norm(ids[j] - x[i])
temp.append(dist)
v = numpy.argmin(temp)
w = numpy.amin(temp)
Clabel.append(v+1)
Cvalue.append(w)
clusters = numpy.concatenate(([Clabel],[Cvalue]), axis = 0)
Проблема заключается в том, как ясделал это, он делает 2 ряда. Первая строка - это метки для кластеров, а вторая - все значения, которые я нашел. Есть ли лучший способ организовать это? В настоящее время он возвращает это в виде матрицы
[[1. 1. 1. 3. 3. 1. 2. 3. ]
[0.325 0.15 0.1 0.325 0.425 0.3 0.1 0.45 ]]
Я хочу, чтобы это было сделано.
[[0.325, 0.15, 0.1, 0.3]
[0.1]
[0.325, 0.425, 0.45]]
Любая помощь будет оценена.