подсчитать количество двумерных массивов - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть список called months: array([ 1, 1, 1, ..., 12, 12, 12]),, который имеет 1 ~ 12 месяцев и список с именем best_labels :array([8, 0, 0, ..., 6, 0, 0], dtype = int32) `, который имеет 10 кластеров (0 ~ 9)

оба имеют одинаковую длину 72915.

Теперь я хочу создать массив с именем C[i-1][j] для подсчета количества кластеров j, которые были опубликованы в месяце i.

Результат должен выглядеть следующим образом: 12 строк (месяцев) * 10 столбцов (кластеров), например, C [0] [0] = 5251, что означает 5251 номер кластера 1, который произошел в месяце 1.

array([[5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0],
       [5251,    2,  226,    0,    0,    0,  163,    0,  147,    0]])

Я сделал это, но у него есть TypeError: только скалярные целочисленные массивы могут быть преобразованы в скалярный индекс

C = np.zeros((12,best_k),dtype=np.int)
A = list(zip(months,best_labels))
for i in range(1,13):
    count =0
    for j in range(1,11):
        if C[i]==A[months] and C[j]==A[best_labels]:
            C[i][j] = count+1

1 Ответ

0 голосов
/ 12 ноября 2018

Я думаю, что ваш цикл должен быть таким

C = np.zeros((12,best_k),dtype=np.int)
A = list(zip(months,best_labels))

for month, label in A:
    C[month-1][label] += 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...