加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 将矩阵中的每个元素重复为一个新的矩阵

发布时间:2020-12-20 11:07:22 所属栏目:Python 来源:网络整理
导读:参见英文答案 Quick way to upsample numpy array by nearest neighbor tiling ????????????????????????????????????3个 在Matlab中,有一个命令repelem,其工作原理如下(见 https://www.mathworks.com/help/matlab/ref/repelem.html#buocbhj-2): 例如:创建
参见英文答案 > Quick way to upsample numpy array by nearest neighbor tiling ????????????????????????????????????3个
在Matlab中,有一个命令repelem,其工作原理如下(见 https://www.mathworks.com/help/matlab/ref/repelem.html#buocbhj-2):

例如:创建一个矩阵,并将每个元素重复为新矩阵的3乘2块.

A = [1 2; 3 4]

B = repelem(A,3,2)

A = (2×2)
     1     2
     3     4

B = (6×4)
     1     1     2     2
     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4
     3     3     4     4

在Numpy做同样的事情的最佳方法是什么?

A = np.arange(1,5).reshape((2,2))
B = ...

解决方法

您可以链接 np.repeat指定轴

repelem = lambda a,x,y: np.repeat(np.repeat(a,axis=0),y,axis=1)
# same as repelem  = lambda a,y: a.repeat(x,0).repeat(y,1)

打电话吧

>>> a = np.array([[1,2],[3,4]])
>>> repelem(a,2)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读