在numpy二维数组中获取与零相邻的所有元素的索引

卡尔奎格斯

我有一组2d数组,用于保存地图区域的经度和纬度,并带有表示陆地(0)或海洋(1)的二进制掩码。我感兴趣的是提取所有沿海海洋元素的索引(与0相邻的遮罩元素1,包括对角线),这样我就可以使用这些索引从其他数组中提取所有沿海元素的经纬度。

给定一个数组:

a = np.array([[1, 1, 1, 1, 1],
[1, 1, 0, 1, 1],
[1, 0, 0, 0, 1],
[1, 1, 0, 1, 1],
[1, 1, 1, 1, 1]])

我正在寻找一种返回的方式:

(array([0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4]), 
array([1, 2, 3, 0, 1, 3, 4, 0, 4, 0, 1, 3, 4, 1, 2, 3]))

其中每个数组都有每个轴的索引。

此输出格式类似于np.where(),我想我想做的是np.where(a ==靠近0)。

广晃

让我们尝试convolve2d

from scipy.signal import convolve2d

kernel = np.full((3,3), 1)

# remove center of kernel -- not count 1 at the center of the square
# we may not need to remove center
# in which case change the mask for counts
kernel[1,1]=0

# counts 1 among the neighborhoods
counts = convolve2d(a, kernel, mode='same', 
                    boundary='fill', fillvalue=1)

# counts==8 meaning surrounding 8 neighborhoods are all 1
# change to 9 if we leave kernel[1,1] == 1
# and we want ocean, i.e. a==1
np.where((counts != 8) & (a==1))

输出:

(array([0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4]),
 array([1, 2, 3, 0, 1, 3, 4, 0, 4, 0, 1, 3, 4, 1, 2, 3]))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

识别二进制矩阵中与1相邻的所有元素

来自分类Dev

在numpy 2D数组中查找与零相邻的非零元素的数量

来自分类Dev

numpy二维数组-从指定索引中获取N个元素

来自分类Dev

按列索引移动二维数组中的所有元素

来自分类Dev

如何在python中按切片获取二维数组的所有元素

来自分类Dev

查找二维数组中具有一些非零元素的列的索引

来自分类Dev

使二维数组中的所有元素成为C ++中某些非零值的快速方法

来自分类Dev

使二维数组中所有元素的快速方法在C ++中变为某些非零值

来自分类Dev

带有numpy的Python:如何根据特定索引从二维数组的每一行中删除元素

来自分类Dev

获取二维 numpy 数组中最大点的索引

来自分类Dev

如何在numpy二维数组中找到与某个列表匹配的所有元素?

来自分类Dev

二维numpy数组中带有索引的Pandas数据帧的有效子集

来自分类Dev

Python:获取二维数组中所有元素的对数

来自分类Dev

优化二维数组中所有元素的舍入

来自分类Dev

查找二维数组中所有元素的总和

来自分类Dev

查找二维数组中所有元素的总和

来自分类Dev

在Simulink中查找二维数组中第一个非零元素的索引

来自分类Dev

numpy获取二维数组中重复元素的确切参数

来自分类Dev

使用掩码从二维数组中获取 numpy 元素的平均值

来自分类Dev

二维numpy数组中公共元素的成对计数

来自分类Dev

减去指定二维数组 numpy 中的元素

来自分类Dev

从二维数组获取索引

来自分类Dev

如何从带有索引的二维数组中获取值

来自分类Dev

向下移动二维数组中的所有元素

来自分类Dev

向下移动二维数组中的所有元素

来自分类Dev

如何列出二维数组中遍历元素的所有可能组合?

来自分类Dev

检查二维数组中的所有元素是否相等(Ruby)

来自分类Dev

如何使用 JavaScript 从二维数组的行中获取值的所有组合?

来自分类Dev

在二维numpy数组中获取邻居的有效方法

Related 相关文章

  1. 1

    识别二进制矩阵中与1相邻的所有元素

  2. 2

    在numpy 2D数组中查找与零相邻的非零元素的数量

  3. 3

    numpy二维数组-从指定索引中获取N个元素

  4. 4

    按列索引移动二维数组中的所有元素

  5. 5

    如何在python中按切片获取二维数组的所有元素

  6. 6

    查找二维数组中具有一些非零元素的列的索引

  7. 7

    使二维数组中的所有元素成为C ++中某些非零值的快速方法

  8. 8

    使二维数组中所有元素的快速方法在C ++中变为某些非零值

  9. 9

    带有numpy的Python:如何根据特定索引从二维数组的每一行中删除元素

  10. 10

    获取二维 numpy 数组中最大点的索引

  11. 11

    如何在numpy二维数组中找到与某个列表匹配的所有元素?

  12. 12

    二维numpy数组中带有索引的Pandas数据帧的有效子集

  13. 13

    Python:获取二维数组中所有元素的对数

  14. 14

    优化二维数组中所有元素的舍入

  15. 15

    查找二维数组中所有元素的总和

  16. 16

    查找二维数组中所有元素的总和

  17. 17

    在Simulink中查找二维数组中第一个非零元素的索引

  18. 18

    numpy获取二维数组中重复元素的确切参数

  19. 19

    使用掩码从二维数组中获取 numpy 元素的平均值

  20. 20

    二维numpy数组中公共元素的成对计数

  21. 21

    减去指定二维数组 numpy 中的元素

  22. 22

    从二维数组获取索引

  23. 23

    如何从带有索引的二维数组中获取值

  24. 24

    向下移动二维数组中的所有元素

  25. 25

    向下移动二维数组中的所有元素

  26. 26

    如何列出二维数组中遍历元素的所有可能组合?

  27. 27

    检查二维数组中的所有元素是否相等(Ruby)

  28. 28

    如何使用 JavaScript 从二维数组的行中获取值的所有组合?

  29. 29

    在二维numpy数组中获取邻居的有效方法

热门标签

归档