В вашем вопросе и примере есть неопределенность. Вы выбираете элементы по значению или индексу? И надо ли принимать slice
буквально?
Принимая slice
буквально:
In [10]: x=np.arange(10) # stick with the ambiguous input for now
In [11]: x[3:6]
Out[11]: array([3, 4, 5])
np.delete
является удобным инструментом, если выбора элементов по позиции. Это общее назначение, и может использовать slice
, а также list
входов:
In [13]: np.delete(x,slice(3,6))
Out[13]: array([0, 1, 2, 6, 7, 8, 9])
In [14]: np.delete(x,[3,4,5])
Out[14]: array([0, 1, 2, 6, 7, 8, 9])
np.in1d
полезен, если вы хотите, чтобы выбрать элементы по значению.
Булевое маскирование также является хорошим инструментом для изучения и использования.
delete
использует различные методы в зависимости от входов. Для простого среза я полагаю, что он использует эквивалент:
In [15]: np.concatenate((x[:3],x[6:]))
Out[15]: array([0, 1, 2, 6, 7, 8, 9])
Диапазон по индексу или по значению? С вашим примером мы не можем сказать разницы. – hpaulj
Диапазон указан по индексу, например. позиции 3: 6 –