Вы можете использовать логический массив для выбора необходимых индексов:
selected_values = (e_data > (no_data + eps)) & (e_data < (no_data - eps))
pyplot.hist(e_data[selected_values])
(e_data > (no_data + eps))
создаст массив np.bool
такой же формы, как и e_data
, для которого установлено значение True
взаданный индекс тогда и только тогда, когда значение этого индекса больше (no_data + eps)
.&
является поэлементным оператором и , удовлетворяющим обоим условиям.
В качестве альтернативы, если no_data
- это просто соглашение, я бы вместо этого установил эти значения на numpy.nan
, ииспользуйте e_data[numpy.isfinite(e_data)]
.