2017-01-26 12 views
1

Я пытаюсь провести векторизацию следующего цикла. Я пытаюсь добавить несколько массивов в пустой массив.vectorize numpy append loop

# ff is a matrix of shape [100,1,96] 
temp = np.array([]).reshape(0,96) 
for kk in range(1,10,1): 
    temp = np.append(tr,ff[kk],axis=0) 
temp = temp.reshape(1,10,96) 

Можно ли векторизовать вышеуказанный цикл, используя numpy? Любая помощь приветствуется!

+0

вы можете объяснить, что вы пытаетесь сделать? –

+0

Я пытаюсь перебрать элементы матрицы размерности [100,1,96], которые имеют размерность [1,96] и добавляются к ним для создания массива [10,96] –

+0

Итак, первые 10 записей первого размерность и все записи всех других измерений? Не следует ли 'ff [: 10,:,:]' просто предоставить вам данные, которые вы ищете? –

ответ

1

Вы можете использовать нарезку извлечь необходимые вам данные:

ff[:10,:,:] 

Это даст массив формы (10, 1, 96). Чтобы избавиться от пустого измерения, вы можете запустить его через numpy.squeeze():

numpy.squeeze(ff[:10,:,:]) 

и получить массив формы (10, 96)