似乎我无法在 Numpy 中解决这个问题:我有一个矩阵,具有任意数量的维度,以任意方式排序。在这个矩阵里面,总有一个维度是我感兴趣的(就像我说的,这个维度的位置并不总是一样的)。现在,我想沿着这个维度找到第一个非零值。事实上,我需要该值的索引来对值本身执行一些操作。一个例子:如果我的矩阵a
是n x m x p
并且我感兴趣的维度是数字 1,我会做类似的事情:
for ii in xrange(a.shape[0]):
for kk in xrange(a.shape[2]):
myview = np.squeeze(a[ii, :, kk])
firsti = np.nonzero(myview)[0][0]
myview[firsti] = dostuff
除了性能考虑之外,我真的不知道如何在具有不同数量的维度以及对任意位置感兴趣的维度上做到这一点。