2012-07-24 2 views
5

В моем скрипте Python у меня есть плавающие, что я хочу bin. Сейчас я делаю:Numpy: использовать бункеры с бесконечным диапазоном

min_val = 0.0 
max_val = 1.0 
num_bins = 20 
my_bins = numpy.linspace(min_val, max_val, num_bins) 
hist,my_bins = numpy.histogram(myValues, bins=my_bins) 

Но теперь я хочу добавить еще два бункера для учета ценностей, которые являются < 0.0 и для тех, которые> 1.0. Таким образом, один бит должен содержать все значения в (-inf, 0), а другой - в [1, inf)

Есть ли простой способ сделать это, еще используя функцию numping histogram?

ответ

7

numpy.histogram() Функция радостно принимает бесконечные значения в bins аргумента:

numpy.histogram(my_values, bins=numpy.r_[-numpy.inf, my_bins, numpy.inf]) 

В качестве альтернативы, вы можете использовать комбинацию numpy.searchsorted() и numpy.bincount(), хотя я не вижу особого преимущества такого подхода.

3

Вы можете указать numpy.inf как верхний и -numpy.inf в качестве нижнего предела.