以特定方式遍历多维数组

时间:2018-10-24 22:31:13

标签: python python-3.x loops numpy multidimensional-array

我有一个形状为(1000, 4, 200)的数组

import numpy as np 
array = np.ndarray((1000, 4, 200), dtype=int)

4用于表示通道数,200用于表示样本数,而1000用于表示通道..时域(不确定如何放置它)

如何以特定顺序遍历此数组,以便在打印数组形状时在for循环内,对于200个样本中的每个样本,必须打印

SAMPLE: 1 
(1000, ) #Channel1
(1000, ) #Channel2
(1000, ) #Channel3
(1000, ) #Channel4

SAMPLE: 2 
(1000, ) #Channel1
(1000, ) #Channel2
(1000, ) #Channel3
(1000, ) #Channel4

SAMPLE: 3 
(1000, ) #Channel1
(1000, ) #Channel2
(1000, ) #Channel3
(1000, ) #Channel4
.
.
.
SAMPLE: 200 
(1000, ) #Channel1
(1000, ) #Channel2
(1000, ) #Channel3
(1000, ) #Channel4

我的打印语句应该准确无误,我只想能够以时域作为列向量一个接一个地提取每个通道。

我尝试了什么?

嗯..我没有做任何特别的事情,我只是有一个嵌套的循环,该循环遍历了从左到右的每个维度,这不是我想要的。

1 个答案:

答案 0 :(得分:1)

实际上非常简单:只需使用移调即可。

array = array.T
for row in array:
    for channel in row:
        print(channel.shape)
    print()