我需要找到数组的零和非零元素的指标.
换句话说,我想找到补充指数numpy.nonzero().
我知道这样做的方式如下:
indices_zero = numpy.nonzero(array == 0)
indices_nonzero = numpy.nonzero(array != 0)
Run Code Online (Sandbox Code Playgroud)
然而,这意味着搜索数组两次,这对于大型数组来说效率不高.使用numpy有一种有效的方法吗?
假设您已经拥有使用范围numpy.arange(len(array)),只需获取并存储逻辑索引:
bindices_zero = (array == 0)
Run Code Online (Sandbox Code Playgroud)
那么当你真正需要整数指数时,你可以做到
indices_zero = numpy.arange(len(array))[bindices_zero]
Run Code Online (Sandbox Code Playgroud)
要么
indices_nonzero = numpy.arange(len(array))[~bindices_zero]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5279 次 |
| 最近记录: |