Numpy瓷砖文档

Numpy瓷砖文档,numpy,Numpy,谁能解释一下这个numpy代码: import numpy as np a = np.array([0, 1, 2]) np.tile(a, (2,1,2)) 其输出为: 数组([[0,1,2,0,1,2]], [[0, 1, 2, 0, 1, 2]]]) 这是我复制代码的地方。欢迎使用堆栈溢出 numpy的函数平铺将沿着指定的维度(第二个参数)平铺(或复制多次,如果愿意) 让我添加一些评论来说明文档中正在发生的事情 将numpy导入为np 数组([0,1,2])#数组a有形状(3,) #下

谁能解释一下这个numpy代码:

import numpy as np
a = np.array([0, 1, 2])
np.tile(a, (2,1,2))
其输出为:

数组([[0,1,2,0,1,2]],
[[0, 1, 2, 0, 1, 2]]])

这是我复制代码的地方。

欢迎使用堆栈溢出

numpy的函数
平铺
将沿着指定的维度(第二个参数)平铺(或复制多次,如果愿意)

让我添加一些评论来说明文档中正在发生的事情

将numpy导入为np
数组([0,1,2])#数组a有形状(3,)
#下一行沿维度0将数组a平铺两倍,输出形状(6,)
np.tile(a,(2))#输出[0,1,2,0,1,2]
文件指出:

如果A.ndim 这意味着,如果调用
np.tile(a,(2,2))
,该函数将(1)将大小为1的轴前置到
a
(因为
a.ndim=1
d=len((2,2))=2
)和(2)沿轴0和1平铺该数组两次,从而输出形状为
(2*1,2*3)=(2,6)

回到您的问题,当调用
np.tile(a,(2,1,2))
时,发生的情况是函数将轴前置到
a
以给出形状
(1,1,3)
,然后将此增强数组平铺为
(2*1,1,2*3)=(2,1,6)
,如果确实这样平铺数组
[0,1,2]
,最后的结果是数组
[[0,1,2,0,1,2][[0,1,2,0,1,2]]]


我希望有帮助?

输出的
形状是什么?在我看来,它是一个(2,1,6)<代码>a
为(3,)。如文档中所述,将其重塑为(1,1,3)。乘以(2,1,2)。