源码侦探:理解 numpy 中的 tile 方法


pre :先来一张源码的切片

mac中按住cmd,鼠标放到tile函数上点一下就可以进入了,win是按住ctrl点一下。
请添加图片描述
源码部分的介绍非常详细,有一大段部分是注射,还有样例分析。小插曲:这个截图插件叫 Easy Code Screenshots,在JetBrains IDE都可以找到。

1. 参数和基本定义:

  • A: 输入数组,可以是任意形状的数组。
  • reps: 一个数组或整数,表示每个轴的重复次数。例如,如果 reps 是 (2, 3),则会对数组的第一个轴重复两次,第二个轴重复三次。

这里解释一下轴是什么:
在数组和矩阵操作中,轴(axis) 是指数组的维度方向。每个维度(或轴)有一个编号,通常从 0 开始。对于不同维度的数组,轴的概念如下:
一维数组:只有一个轴,即 axis=0。沿这个轴重复会将数组的元素进行平铺。
a = np.array([1, 2, 3]),只有一个轴 axis=0
二维数组:有两个轴,axis=0 表示行方向,axis=1 表示列方向。沿 axis=0 重复就是在行方向上增加行数。沿 axis=1 重复则在列方向上增加列数。
b = np.array([[1, 2], [3, 4]]),axis=0 是行方向,axis=1 是列方向
三维及更高维数组:有多个轴。例如,三维数组的 axis=0 是深度(通常表示“页”),axis=1 是行,axis=2 是列。
c = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]),axis=0 是“页”方向,axis=1 是行方向,axis=2 是列方向
在 tile 函数中,reps 指定了每个轴的重复次数,例如 reps=(2, 3):
2 表示在第一个轴上重复 2 次。
3 表示在第二个轴上重复 3 次。

2. 将 reps 转换为元组:

tup = tuple(reps)
  • 如果 reps 是整数或列表,将其转换为元组 tup,方便在接下来的操作中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钻石程序的金锄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值