假设我有一个多维的形状数组(80,80,17,5,27),其中27(切片轴)可以在第三,第四或第五维度。
我想在切片轴内选择一个数据子集;举个例子:
slice_axis = N.shape(data).index(27)#slice_axis = 4,用于上面列出的数据 data_new = data [:,:,:,:,0:tot_slices / 2]#此选择位置取决于切片轴
或者,如果数据形状如下所示:(80,80,27,17,5): 然后slice_axis = 2和data_new = data [:,:,0:tot_slices / 2,:,:]
有没有快速的方法来做到这一点,最好不必转置数据?
答案 0 :(得分:0)
如果我正确理解您的问题,以下内容应该有效:
slice_idx = N.shape(data).index(27)
slices = [ slice( 0, None, None),]*4
slices.insert( slice_idx, slice( 0, tot_slices/2, None))
data_new = data.__getitem__(slices)
答案 1 :(得分:0)
我在mdurant回答之前提出的解决方案如下:
selected_axis = N.shape(数据).index(27)
data = N.delete(数据,N.ceil(27/2),轴= selected_axis)
(data_base,data_activation)= N.split(数据,2,轴= selected_axis)