gpt4 book ai didi

python - 在数组中找到最 "empty"的地方

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:01:03 25 4
gpt4 key购买 nike

<分区>

假设我有以下 numpy 数组:

foo = np.asarray([
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1],
[1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1],
[1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
])

如您所见,它包含一些 0 和 1。我正在寻找这个数组中最“空”的地方。我的意思是你找到更高密度 0 的地方。我想做一个函数,返回那个地方中心的行和列索引。

目前我尝试做的是使用如下函数将该数组分成四个相同大小的部分:

def blockshaped(arr, nrows, ncols):
"""Return an array of shape (n, nrows, ncols)."""
h, w = arr.shape
arr = arr.reshape(h // nrows, nrows, -1, ncols)
arr = arr.swapaxes(1, 2)
arr = arr.reshape(-1, nrows, ncols)

return (arr)

然后我计算每个部分的总和。从总和最低的地方切入,然后在 4 时再次切入,依此类推……但我觉得这不是正确的事情……

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com