python - 如何在基于索引的numpy中创建掩码?
问题描述
N = 5
mask = np.zeros((N, N, N))
for i in range(N):
for j in range(N):
for k in range(N):
if j==k and i!=j:
mask[i,j,k] = 1
目前我正在按照上面显示的代码进行操作,我觉得必须有一种更有效和pythonic的方式来实现这个目标
解决方案
你可以做:
import numpy as np
N = 5
i, j, k = np.ogrid[:N, :N, :N]
mask = (j == k) & (i != j)
推荐阅读
- firebase - Firebase用户注册时不保存到数据库
- memory - 即使有足够的可用字节,Malloc 也无法分配字节
- python - 循环写入CSV时如何避免重复标题?
- javascript - 如何在 Anime.js 中按照 SVG 路径“完美”居中对象?
- r - 如何在 R 中为“WorldPhones”数据集创建折线图?
- c++ - 为什么我的模板会导致重复符号?
- amazon-s3 - 如何在使用 Athena 连接器运行 Tableau 时将自动生成的文件存储在不同的 AWS S3 文件夹中?
- c++ - 检测哪个窗口在其他实例中具有焦点并向其发布带有 CString 参数的消息
- django - 在运行时 Django 添加字段
- flutter - 扩展超类时的异步/等待问题