【发布时间】:2019-11-13 21:51:53
【问题描述】:
我有一个 (7 x 325 x 255) 的 numpy 数组。这七个是图像中的不同波段,而 325 和 448 是行和列(即像素)。 X 是我的设置示例。
x = x = np.random.randint(5, size=(7,325,255))
我正在尝试使用 np.where() 从所有 7 个波段创建一个二维索引 (325,255),其中的值等于我的无数据参数,即 -9999。我的论点如下:
y = np.asarray(np.where(x == -9999))
但是,当我打印 y 的形状时,我得到以下内容,应该是 (325, 255):
(3, 580125)
关于如何解决这个问题有什么建议或想法吗? 非常感谢!
【问题讨论】:
-
您想获得 all 波段等于特殊值或 any 的索引吗?
-
不完全确定我是否在关注这个问题......所以你有一个 (length=7, width=325, height=255) 的 3d 数组 x,其中包含一堆值,一个其中是 x(l,w,h) = -9999。并且您想生成一些可以在 2d 数组中表示的 'y' 数组,该数组继承了 3d 数组的宽度和高度。您究竟希望用什么来填充 y 数组?它应该保存哪些信息?
-
@Matthias 可能是任何,抱歉应该澄清一下。
-
@MichaelGreen 最终产品是一个索引,显示我在任何波段的值为 -9999。
-
@fotxoa 所以如果我理解正确,你想要一个布尔二维数组,如果出现任何 -9999 则为真?
标签: python arrays numpy indexing