python - 如何将值分配给 numpy 数组作为索引的函数?
问题描述
我只能找到使用坐标元组来分配某些值的结果,比如这个。
我想将值分配给二维数组作为其坐标的函数。最简单的情况是将每个元素的值设置为它们的第二个索引(例如 x 坐标)。这样,
x[0][0] = 0
x[1][0] = 0
...
x[2][0] = 0
x[0][1] = 1
x[0][2] = 2
...
更复杂的情况是将这些值设置为到某个点的欧几里得距离(x, y)
。
我目前的解决方案是使用 for 循环,这绝对不是有效的。矢量化实现会很好。
我目前的实现:
x_mask = np.zeros((256, 256))
for i in range(256):
for j in range(256):
x_mask[i][j] = j
解决方案
您可以分配一个范围并利用 NumPy广播:
A = np.zeros((256, 256))
A[:] = range(A.shape[1])
# or A[:] = np.arange(A.shape[1])
您选择的方法将取决于您希望应用的功能。
推荐阅读
- testing - Julia-lang - 功能测试
- css - 将 css(带变量)打印到文件中
- gcc - 缺部分??汇编文件编译
- sharepoint-online - 使用 c# webclient 从 SharePoint Online 下载文档停止工作
- jquery - jQuery 房产税计算器
- javascript - 在我的谷歌地图上覆盖我的联系表
- c++ - 消除未使用的虚函数
- excel - 加速设置数据透视表过滤器的 VBA 代码
- ubuntu - 尝试运行 hyperledger byfn 构建您的第一个网络,我遇到了错误 001
- symfony - 多重/连接交易原则 - Symfony