Python | 复制矩阵:np.repeat 与 np.tile的区别

1. 介绍

np.repeat()np.tile() 两个函数都能实现对矩阵进行复制操作;

其不同在于:

np.repeat() 函数实现的是对矩阵按照行或者列,对其中的某一行(列)复制N次,接着复制下一行(列),知道矩阵的每一行(列)复制结束;

np.tile() 函数实现对矩阵整体复制,将矩阵整体复制N次,放到新的矩阵中。

PS:不好理解没关系,看一遍程序结果就知道了。

2. np.repeat()

用法:

output = np.repeat(data, repeats=m, axis=n)

其中:

data 表示带复制的矩阵;

n 取0或者1,0表示按行复制,1表示按列复制;

m 表示沿着行(列)的方向复制m次。

测试示例(python程序):

import numpy as np

data = np.eye(3,4)

new_data = np.repeat(data, repeats=3, axis=0)

数据data为:

[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]

利用np.repeat()输出为:

[[1. 0. 0. 0.]
 [1. 0. 0. 0.]
 [1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 1. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 1. 0.]
 [0. 0. 1. 0.]]

3. np.tile()

用法:

output = np.tile(data, (m,n))

其中:
data 表示带复制的矩阵;

m 表示沿着行的方向复制m次矩阵;

n 表示沿着列的方向复制n次矩阵;

测试示例(python程序):

import numpy as np

data = np.eye(3,4)

new_data = np.tile(data, (2,1))

数据data为:

[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]

np.tile(data, (2,1))输出为:

[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值