Вы можете сгенерировать элементы индекса с непрерывным 3 приращением и повторением 3 элементов
a = np.asarray([10,20,30,40,50,60,70,80,90,100,110,120,130,140,150])
b = np.tile(np.arange(1,4),int(len(a)/6)+1) + np.repeat(np.arange(3,int(len(a)/2)+3,3),3)
a.take(b)
Out:
array([ 50, 60, 70, 80, 90, 100, 110, 120, 130])
Объяснение
np.tile(np.arange(1,4),int(len(a)/6)+1)
#array([1, 2, 3, 1, 2, 3, 1, 2, 3])
np.repeat(np.arange(3,int(len(a)/2)+3,3),3)
#array([3, 3, 3, 6, 6, 6, 9, 9, 9])