首页 > 解决方案 > 将 3d numpy 数组分成 2 组 python

问题描述

我有一个这种形式的 3d 数组 (12457,8,6) 我想将它分成 2 个相等的 numpy 数组,例如 (12457,3,8) 事实上,第一个包含前 3 个波段,第二个包含剩余波段:换句话说,我希望我的 array1 包含波段 1、2、3,而我的 array2 包含波段 4、5、6

我试过了,但它不起作用

array1=data[:,:,3]
array1.shape
(12457,8)

标签: pythonnumpyreshape

解决方案


你可以使用np.split-

X = np.random.random((1200,6,8))
print(X.shape)

X1, X2 = np.split(X, 2, axis=1) #Array, num of splits, axis for splitting
print(X1.shape, X2.shape)
(1200, 6, 8)
(1200, 3, 8) (1200, 3, 8)

推荐阅读