You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向numpy零值网格的对应坐标位置赋值

实现方案

核心逻辑是先建立s1、s2中的浮点坐标值和网格整数索引的映射关系,再通过索引完成对应位置的赋值,具体实现如下:

场景1:按需给指定坐标赋值

适合需要零散给部分坐标赋值的场景:

import numpy as np

# 初始参数
s1 = [0, 0.25, 0.5, 0.75, 1.0]
s2 = [0, 0.25, 0.5, 0.75, 1.0]
grid = np.zeros((5, 5))

# 构建坐标值到网格索引的映射字典
s1_to_idx = {val: idx for idx, val in enumerate(s1)}
s2_to_idx = {val: idx for idx, val in enumerate(s2)}

# 示例:给坐标(0, 0)的位置赋值5
x, y = 0, 0
grid[s1_to_idx[x], s2_to_idx[y]] = 5

# 示例:批量给多个坐标赋值
coord_value_pairs = [
    ((0, 0.25), 3),
    ((0.5, 0.75), 10),
    ((1.0, 1.0), 8)
    # 剩余需要赋值的坐标和数值可直接按格式追加到列表中
]
for (x, y), val in coord_value_pairs:
    grid[s1_to_idx[x], s2_to_idx[y]] = val

场景2:全量25组坐标的数值已按顺序生成

如果已经按(0,0)→(0,0.25)→…→(0,1)→(0.25,0)→…→(1,1)的顺序生成了长度为25的数值列表,可以直接重构为5×5网格:

# 示例:长度为25的数值列表,顺序和坐标排列顺序完全对应
all_values = [5, 3, 2, 1, 4, 6, 7, 2, 1, 3, 5, 7, 8, 2, 1, 4, 3, 2, 5, 7, 9, 3, 2, 1, 8]
grid = np.array(all_values).reshape(5, 5)

注意事项

  • 上述方案默认s1对应网格行索引、s2对应网格列索引,可根据自身坐标对应规则调整两个映射字典的调用顺序
  • 该方案仅适用于s1、s2内部无重复值的场景,和当前给出的参数列表适配

内容的提问来源于stack exchange,提问作者user16936122

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:27:00