假设我有一个维度为(N*J)x M的矩阵A,其中每一列由长度为J的$N$个子向量组成。现在,对于这些子向量中的每一个,我想找到最大值的位置,然后生成相同维度的矩阵B,只要A中的相应元素是相应子向量的最大值,矩阵B就为1。假设每个子向量的最大值是唯一的(值是从连续随机变量中提取的)。
简单示例(N=2,J=2,M=2):
A =
[1, 0;
2, 4;
9, 3;
7, 8]
B =
[0, 0;
1, 1;
1, 0;
0, 1]
任何帮助赞赏,谢谢!
我没有一个好的开始,我的第一个猜测是使用np的组合。分割成子向量,然后取argmax,并将所有内容转换回布尔数组。
1条答案
按热度按时间2w2cym1i1#
一种方法是将原始形状转换为
(J, N*M)
形状的数组:给出: