python - 获取 N 维数组的所有索引作为列表
问题描述
有没有办法在 Python 中以快速有效的方式获取 N 维数组中所有索引的列表或数组?
例如,图像我们有以下数组:
import numpy as np
test = np.zeros((4,4))
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
我想按如下方式获取所有元素索引:
indices = [ [0,0],[0,1],[0,2] ... [3,2],[3,3] ]
解决方案
使用np.indices
一些重塑:
np.indices(test.shape).reshape(2, -1).T
array([[0, 0],
[0, 1],
[0, 2],
[0, 3],
[1, 0],
[1, 1],
[1, 2],
[1, 3],
[2, 0],
[2, 1],
[2, 2],
[2, 3],
[3, 0],
[3, 1],
[3, 2],
[3, 3]])
推荐阅读
- google-cloud-endpoints - 如何在 Google Endpoints 中启用 https
- html - 在 SCSS 语法中自定义单选按钮
- java - 图像大小调整,保留比例为全场景
- dictionary - 映射函数类型中的 Dart 类继承
- aws-lambda - 如何在嵌套地图 DynamoDb 中进行更新
- user-interface - 为什么我的领英分享按钮不起作用?
- android - 为什么很多例子都使用 GlobalScope for android OnClickListener?
- java - Spark,NegativeArraySizeException 时序列文件
- javascript - asp.net 弹出窗口无响应显示输入结束
- java - 以 0.00 精度从 mysql 获取双精度