numpy数组基本操作
相信不管做什么,特别是图像处理,总是离不开numpy.shape的坑,下面就来总结一下
1. 我们先来看看序列(list)和数组(array)区别
序列可以遍历,但是他并没有形状
A = [1,2,3,4]
print(A.shape)
# AttributeError: 'list' object has no attribute 'shape'
我们将list转为array看看呢?OK, 可以看到形状了,目前这是一个一维数组。
A = np.array(A)
print(A.shape)
# A: [1,2,3,4]
# (4, )
可是很奇怪,他为什么不是
(
1
,
4
)
(1,4)
(1,4) 呢?其实
(
4
,
)
(4, )
(4,)才是一维数组的表示方法,
(
1
,
4
)
(1,4)
(1,4)是二维数组
由此可见,下列写法可以为array嵌套一层,但是不改变内容,只改变了纬度
A = np.array([A])
print(A.shape)
# (1,4)
print(np.array([A]).shape)
# (1,1,4)
2. 数组的拼接
https://www.youtube.com/watch?v=ttSUtDTjDyI
这个是莫烦python一个不错引用
2.1 np.vstack(), 在水平方向上堆砌
2.2 np.hstack(),在水平方向上直接拼接
2.3 np.concatenate(),指定axis进行拼接