Select ndarray 的第 n 列

Select nth columns of an ndarray

我有以下 4D numpy 数组:

X = np.random.randint(0,9,(10,1,5,4))

例如,

X[0]
array([[[0, 6, 7, 7],
        [8, 3, 8, 8],
        [1, 4, 1, 0],
        [2, 4, 6, 0],
        [8, 3, 7, 8]]])

X[1]
array([[[3, 4, 3, 6],
        [1, 2, 1, 5],
        [1, 1, 0, 7],
        [2, 5, 6, 2],
        [4, 2, 6, 0]]])

每一列代表一个特定的数量。 但我对一个仅包含 X 的第一列的子数组感兴趣,这样:

X_sub[0] =
array([[[0],
        [8],
        [1],
        [2],
        [8]]])

X_sub[1] =
array([[[3],
        [1],
        [1],
        [2],
        [4]]])

要获得您想要的东西,您可以访问 X np.ndarray as

X_sub[i] = X[i, :, :, 0]  
# i-th subarray, select full 1d subarray, select all rows, select first column
a = ([[[0, 6, 7, 7],
        [8, 3, 8, 8],
        [1, 4, 1, 0],
        [2, 4, 6, 0],
        [8, 3, 7, 8]]])
        
req_list= []
for x in a[0]:
    temp=x[0]
    req_list.append(temp)