Вы должны иметь возможность просто взять нужный фрагмент без цикла (всякий раз, когда у вас возникает искушение циклически перебирать массив с пустым фрагментом, обычно есть лучший способ).
spectrogram[:, :20]
Вот упрощенный пример: для массива 5x10 возьмите только первые 5 из каждой строки, чтобы получить массив 5x5:
import numpy as np
a = np.arange(50).reshape(5, 10)
a[:, :5]
результат
array([
[ 0, 1, 2, 3, 4],
[10, 11, 12, 13, 14],
[20, 21, 22, 23, 24],
[30, 31, 32, 33, 34],
[40, 41, 42, 43, 44]])