如何将这两行代码转换为没有for循环的一行代码?for i in xrange(X.shape[0]):在英语中,矩阵X中的每一行都应该从向量y给出的矩阵dW中的相应列中减去。我应该提到dW是DXC,而X是NXD,所以X的转置不具有与W相同的形状,否则我可以重新排序X的行,并直接进行转置。但是,dW中的列可能有多个需要减去的相应行。我觉得我不太了解python中的索引是如何工作的,这使得移除不必要的for循环变得困难,甚至不知
由于我从Matlab学到了Eigen和C++,我首先采用的最简单的方法是将这个Nx1向量转换为Nx2矩阵,将floor应用于第一列,将ceil应用于第二列,转置得到2xN矩阵,然后利用矩阵的列为主的性质,将2xN矩阵重塑为2Nx1向量,产生我想要的结果。然而,对于较大的向量,这将是非常缓慢和低效的。 This response by ggael有效地解决了如何通过生成一系列索引并索引输入向量来重复输入向量</