x = np.array([[[1,2,3],[4,5,6]]])这里或者直接写成(1,2,3)
w = x.shape
(1,2,3)
创建一个三维数组,由1个,2行,3列的二维数组,组成.
几个[] 就是几维。
b = np.expand_dims(a, axis=0) 扩展数组形状:维度
变换为(1,1,2,3)
含义为在1,2,3三个数产生的四个间隔中零的位置,即1之前添加1
同理axis = 2
变换为(1,2,1,3)
注意:
axis的值不能大于(1,2,3)产生的间隔数,(1,2,3)只有四个间隔,所以axis<4
当axis大于最大间隔的时候会按照最大间隔插入.
*--------------------------------------*-----------------------------------------------------------*
a = np.arange(36)#数组元素 b = a.reshape(6,6)#改变数组形状 '''[[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 14 15 16 17] [18 19 20 21 22 23] [24 25 26 27 28 29] [30 31 32 33 34 35]]''' #print(b[4]) w = np.array([[6,7],[8,9],[10,11]]) #print(b[:,3])#取得第三列 #print(b[:3])#从0到第三行 b[b>23]=0 print(b[0:2]) print(b[0:2,2:4])#逗号前行,后面式列数 print(b[:,:3]) print('*----------------------------*') print(b[:,None])#None不进行切片,把整体作为数组元素处理 print(b[:,:,None])#None把取到的值按照列的形式返回 np.concatenate((a, b), axis=0)#拼接数组 合并数组
a = np.ones((3,2,4)) #3个2行4列的二维数组,组成的三维数组 print(a) b = np.zeros((3,2,4))
c = np.ones((3,2,4))
d = np.concatenate([a,b,c],2) print(d) print(d.shape)
out::::::: a: [[[1. 1. 1. 1.] [1. 1. 1. 1.]]
[[1. 1. 1. 1.] [1. 1. 1. 1.]]
[[1. 1. 1. 1.] [1. 1. 1. 1.]]] d: [[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.] [1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]
[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.] [1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]
[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.] [1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]] (3, 2, 12) 可以看出当, 2的时候对数组纵向拼接只改变了三维数组中二维数组的行数,3*4=12,其他几个值行数在[]a,b,c]中对应的位置正好是2,所以写成-1作用一样,0是对数组的个数进行拼接,1改变行数,不能改变维度 --------------------- 作者:o情花o 来源:CSDN 原文:blog.csdn.net/WoHongG/art… 版权声明:本文为博主原创文章,转载请附上博文链接!
|
|