
[英]Efficient way of finding the minimum/maximum row index for each column in a numpy.array with nonzero value?
[英]numpy nonzero() returns indexes sorted by row index?
关于PyArray_NonZero
的C源代码(该函数处理所有对nonzero
的调用)有以下注释:
/*NUMPY_API
* Nonzero
*
* TODO: In NumPy 2.0, should make the iteration order a parameter.
*/
NPY_NO_EXPORT PyObject *
PyArray_Nonzero(PyArrayObject *self)
现在,将迭代顺序硬编码为C顺序 ,即对于2D情况,最后一个索引变化最快,即排序的行然后是列。 根据该评论,可以非常安全地假设,如果这种情况发生改变,将通过提供默认为当前行为的新功能来实现。
是的,numpy数组可以处理行,然后处理列索引。 如果要以更Matlab的方式工作,则可以使用转置数组。 例如。
test.T[test.T.nonzero()]
T
属性提供了数组的转置视图 。 因此,行变成列,而列变成行。 而且由于数组是视图而不是副本,所以它也是非常便宜的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.