nump的操作

1.二维数组的合并转为三维数组

 

import numpy as np
a = np.random.randn(4,5)
b = np.random.randn(4,5)
c = np.random.randn(4,5)

## 获得的size=(3, 4, 5)
# size[0]代表第三维,numpy的第0维
# size[1]代表第一维,numpy的第1维, 行
# size[2]代表第二维,numpy的第1维, 列
# concatenate()中的axis是指:按numpy中的第几维拼接

arr = np.array([a, b, c]) #(3, 4, 5)
print (a.shape)
print (arr.shape)

a_0 = a[None, :, :] #(1, 4, 5)
print (a_0.shape)
arr_0 = np.concatenate((a_0, a_0, a_0), axis=0)  #(3, 4, 5)
print (arr_0.shape)

a_1 = a[np.newaxis, :, :,] #(1, 4, 5)
arr_1 = np.concatenate((a_1, a_1, a_1), axis=0)  #(3, 4, 5)
print (arr_1.shape)


## 获得的size=(4, 5, 3)
arr_2 = np.dstack((a, b, c)) #(4, 5, 3)
print (arr_2.shape)

a_3 = a[:, :, None] #(4, 5, 1)
print (a_3.shape)
arr_3 = np.concatenate((a_3, a_3, a_3), axis=2) #(4, 5, 3)
print (arr_3.shape)

# test
# np.newaxis = None
a_4 = a[:, :, np.newaxis] #(4, 5, 1)
print (a_4.shape)
a_4_ = a_4.T #(1, 5, 4)
print (a_4_.shape)
a_4_1 = a.T[:, :, np.newaxis] #(5, 4, 1)
print (a_4_1.shape)

arr_4 = np.concatenate((a_4, a_4, a_4), axis=2)  #(4, 5, 3)
print (arr_4.shape)

 

 

 

 
posted @ 2018-09-30 20:37  seeney  阅读(264)  评论(0)    收藏  举报