У меня есть пустой массив следующим образом:
array = np.random.randint(6, size=(50, 400))
В этом массиве есть кластер, к которому относится каждое значение, каждая строка представляет образец, а каждый столбец представляет объект, но я хотел бы создать5-мерный массив с частотой каждого кластера (в каждой выборке, представленной в виде строки в этой матрице).
Однако при расчете частоты я хочу игнорировать 0, что означает, что частота всех значенийкроме 0 (1-5) следует добавить к 1.
По сути, я хочу массив, в котором каждая строка является кластером (1-5) в этом случае, и каждая строка по-прежнему содержит одну выборку.
Как это можно сделать?
Редактировать:
маленький ввод:
input = np.random.randint(6, size=(2, 5))
array([[0, 4, 2, 3, 0],
[5, 5, 2, 5, 3]])
вывод:
1 2 3 4 5
0 .33 .33 .33 0
0 .2 .2 0 .6
Где1-5 - это имена строк, а две нижние строки - это желаемый результат в массиве с пустым фрагментом.