其实咱们常规认为的append()
函数在numpy
中达不到想要的效果的!!
import numpy as np
array_1 = np.random.random((5, 6, 7, 8)) # shape = (5,6,7,8)
array_2 = np.random.random((5, 6, 7, 8)) # shape = (5,6,7,8)
把列表展开,然后合并:
np.append(array_1, array_2) # shape = (3360,)
将后一个array插入与前一个array-合并
# 以第一个维度合并
np.vstack((array_1, array_2)) # shape = (10,6,7,8) 以第一个维度合并
np.concatenate([array_1, array_2], axis=0) # shape = (10,6,7,8) 与上述效果相同
# 以第二个维度合并
np.hstack((array_1, array_2)) # shape = (5,12,7,8) 以第二个维度合并
np.concatenate([array_1, array_2], axis=1) # shape = (5,12,7,8) 与上述效果相同
# 以第三个维度合并
np.dstack((array_1, array_2)) # shape = (5,6,14,8) 以第三个维度合并
np.concatenate([array_1, array_2], axis=2) # shape = (5,6,14,8) 与上述效果相同
# 以第n个维度合并:np.concatenate([array_1, array_2], axis=n)
将后一个array插入到前一个array-插入
# 插入新数据到新的维度:
np.stack((array_1, array_2), axis=3) # shape = (5,6,7,2,8) 把新加的维度插入到axis上