我有一个这种形式的3d数组(12457,8,6(,我想把它分成两个相等的numpy数组,比如(12457,3,8(事实上,第一个包含前3个波段,第二个包含剩余波段:换句话说,我希望我的阵列1包含波段1、2、3,而我的阵列2包含波段4、5、6
我试过了,但不起作用
array1=data[:,:,3]
array1.shape
(12457,8)
您可以使用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)
split或array_split应该能够帮助您。
import numpy as np
arr = np.array([[1,2,3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
newarr = np.split(arr, 2)
print(newarr)
打印:
[array([[1, 2, 3],
[4, 5, 6]]), array([[ 7, 8, 9],
[10, 11, 12]])]