2012-07-24 50 views
5

在我的Python腳本中,我有我想要的箱子的花車。現在我做: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。因此,一個bin應該包含(-inf,0)中的所有值,另一個全包含在[1,inf]中。

是否有任何直接的方法來執行此操作,同時仍然使用numpy的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作爲下限限制。