如何从np.array的二维索引中分离出x、y整数值?
提取numpy数组索引中的整数坐标
情况1:索引是元组类型
如果每次循环得到的索引已经是(162, 19)这样的元组,直接解构赋值就能拿到整数坐标:
# 假设当前循环的索引是 idx = (162, 19) x, y = idx # x=162,y=19,都是整数,可直接用于后续逻辑
情况2:索引是numpy数组类型
如果是用np.where()这类方法得到的索引(形式类似(array([162]), array([19]))),需要把数组元素转成整数:
# 假设索引是 idx = (np.array([162]), np.array([19])) x = idx[0].item() y = idx[1].item()
或者用生成器表达式简化:
x, y = (coord.item() for coord in idx)
循环场景示例
这里给你一个适配循环处理的完整示例:
import numpy as np # 模拟循环处理数百个432x432的数组 for _ in range(100): # 生成随机数组(替换成你的实际数组) arr = np.random.rand(432, 432) # 找到目标值的索引(这里以最大值索引为例,替换成你的实际索引获取逻辑) idx = np.unravel_index(np.argmax(arr), arr.shape) # 提取坐标(根据索引类型选上面的方法) x, y = idx # 后续函数逻辑使用x和y print(f"当前处理的坐标:x={x}, y={y}")
内容的提问来源于stack exchange,提问作者13johs
相关产品推荐
相关产品推荐

