假设我有一个5x 5矩阵,如下所示:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
字符串
基于某个位置,我在(x,y)坐标上都得到了一个索引,我想在这里开始构建值的同心正方形。下面是一些例子:
3 3 3 3 3
3 2 2 2 2
3 2 1 1 2
3 2 1 1 2
3 2 2 2 2
2 2 2 3 4
1 1 2 3 4
1 1 2 3 4
2 2 2 3 4
3 3 3 3 4
的数据
有没有更自动化的/函数/库可以轻松地完成这一任务,而不是硬编码这些类型的值?
1条答案
按热度按时间n53p2ov01#
不确定确切的逻辑,但假设
x
,y
是1的正方形左上角的坐标,你可以用numpy.where
制作一个垂直和水平的数组,然后合并将它们与广播和numpy.maximum
结合起来:字符串
输出量:
型
x = 1 ; y = 0 ; N = 6
的输出:型
中间体(
x = 5 ; y = 5 ; N = 5
):型