我正在尝试创建一个读取不同矩阵的代码,并评估是否具有所需的尺寸,即882x883。如果要这样做,我想添加矩阵,如果不想要,我想附加每个矩阵尽可能多的带有零的列和原始数据才能达到这些尺寸(为此,我们需要知道,如果它们没有所需的尺寸,则矩阵总是较小的),我遇到的主要问题是新文件和行需要要在矩阵的开始和结尾以相同的比例添加,即,如果我需要添加4个列,则两个零列将是前两列,另外两个是后两列,如果我需要添加一个行或文件的数量为奇数,那么结尾处将再增加一个。
感谢您的帮助
答案 0 :(得分:1)
您应该看一下
https://docs.scipy.org/doc/numpy/reference/generated/numpy.pad.html
其语法为
numpy.pad(array, pad_width, mode, **kwargs)
如果矩阵名为x
,则可以通过x.shape
获得其尺寸。然后,您可以轻松地计算出必须附加到矩阵的零行或零列的数目,以便满足您的需求。通过指定pad_width
,它是((before_0, after_0), (before_1, after_1))
形式的元组,包含要添加到矩阵中的行数(轴0)或列数(轴1)。选择mode='constant'
,然后通过constant_values=(0, 0)
(它是一个kwargs
参数)指定常量值。
总的来说,类似
numpy.pad(x, ((before_0, after_0), (before_1, after_1)), 'constant', constant_values=(0, 0))
应该做的事