参考另外一篇博客对这三个函数的详解,再加上自己的体会记录如下
1. stack()
(1)给出代码(二维的例子)
import numpy as np
a=[[1,2,3],
[4,5,6]]
print("列表a如下:")
print(a)
print("增加一维,新维度的下标为0")
c=np.stack(a,axis=0)
print(c)
print("增加一维,新维度的下标为1")
c=np.stack(a,axis=1)
print(c)
输出:
列表a如下:
[[1, 2, 3], [4, 5, 6]]
增加一维,新维度下标为0
[[1 2 3]
[4 5 6]]
增加一维,新维度下标为1
[[1 4]
[2 5]
[3 6]]
(2)理解
参考的那篇博客上面是用套箱子的方法理解,但是我并没有完全看明白,不知道axis的参数对应的是哪个箱子。所以我自己理解了一下。stack()函数不是增加了维度,而是改变了数组的堆叠方法,进而改变维度。
我们可以将a的行看做0维度,列看做1维度。当axis=0时,对0维度进行改变,即按行进行堆叠。当axis=1时,对1维度进行改变,即