我有一个包含数据图像的数组,如下所示。
print(np.shape(input_data_transformed))
(120,120,1589(
这里input_data_transformed
是NumPy数组,其中存储了589个图像。每个图像的大小都是120x120
,只有一个通道。
我有另一个NumPy数组,称为索引数组,如下所示。
index_array=np.array([ 8, 9, 10, 11, ..............., 584, 585, 586])
我想根据index_array
中的索引值从input_data_transformed
中选择图像
因此final_filtered_data
应该只包含那些图像数据,其索引在index_array
中给出
final_filtered_data=?
看起来您的维度顺序不对。你可以transpose
,然后只在第一个轴上索引:
input_data_transformed.transpose(3,2,0,1)[index_array]
检查示例:
a = np.random.rand(120, 120, 1, 589)
index_array=np.array([ 8, 9, 10, 11, 584, 585, 586])
a.transpose(3,2,0,1)[index_array].shape
# (7, 1, 120, 120)