python - 我如何在 numpy 中做这个数组索引

标签 python arrays numpy

给定一个索引数组 I,如何设置索引不存在于 I 中的数据数组 D 的值?

示例:如何从ID 得到A

I = array( [[1,1], [2,2], [3,3]] )

D = array( [[ 1, 2, 3, 4, 5, 6],
            [ 7, 8, 9, 1, 2, 3],
            [ 4, 5, 6, 7, 8, 9],
            [ 1, 2, 3, 4, 5, 6],
            [ 7, 8, 9, 1, 2, 3]] )

A = array( [[ 0, 0, 0, 0, 0, 0],
            [ 0, 8, 0, 0, 0, 0],
            [ 0, 0, 6, 0, 0, 0],
            [ 0, 0, 0, 4, 0, 0],
            [ 0, 0, 0, 0, 0, 0]] )

编辑:我正在寻找如何在 Id 很大的情况下一次完成此操作。

最佳答案

简单的解决方案:

A = zeros(D.shape)
for i, j in I:
    A[i, j] = D[i, j]

矢量化:

A = zeros(D.shape)
i, j = I.T
A[i, j] = D[i, j]

关于python - 我如何在 numpy 中做这个数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8808597/

相关文章:

javascript - 从对象中拆分数组并在下划线模板中使用

python - 从两个 numpy 数组中查找然后排序的更优化方法

Python:使用正则表达式捕获双反斜杠 C 字符

python - 使用简单的对话框在 Python 中选择文件

c - 数组的数组,具有不同的大小

javascript - 通过在 javascript 中使用 RegExp 包含标签来过滤用户列表数组

python - 如何以相反的顺序获取numpy多维数组的索引?

python - 读取坐标字符串并取出整数的方法(Python)

python - 无法加载库 "/usr/lib/pgsql/plpgsql.so"和 undefined symbol : PinPortal

python - Django WebSocket 断开/ws/聊天/大厅/[127.0.0.1 :3022]