numpy.matlib已弃用,如何不依赖matlib实现repmat功能?
替代numpy.matlib.repmat的可行方案
你可以直接使用numpy原生的np.tile()函数实现和np.matlib.repmat(I, 1400, 1)完全相同的效果,完全不需要依赖已被弃用的numpy.matlib模块。
- 替代代码:
np.tile(I, (1400, 1))
功能说明
np.tile()的作用是将输入数组按指定的重复次数平铺扩展。在二维场景下,np.tile(arr, (m, n))的行为和np.matlib.repmat(arr, m, n)完全一致:把数组沿行方向重复m次,列方向重复n次,完美匹配你原来的需求。
针对一维输入的补充处理
如果你的I是一维数组,希望重复后得到一个1400行的二维数组,可以通过以下方式实现:
- 方法一(基于tile):
np.tile(I[np.newaxis, :], (1400, 1)) - 方法二(基于repeat):
np.repeat(I[np.newaxis, :], 1400, axis=0)
内容的提问来源于stack exchange,提问作者TFAE
相关产品推荐
相关产品推荐

