我有一个numpy数组,如下所示:
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是行名称,底部两行是numpy数组中所需的输出。