[NumPy-Tickets] [NumPy] #2177: np.histogramdd does not work with reverse sorted bin sequence

NumPy Trac numpy-tickets@scipy....
Thu Jun 28 19:52:59 CDT 2012


#2177: np.histogramdd does not work with reverse sorted bin sequence
-------------------------+--------------------------------------------------
 Reporter:  andyfaff     |       Owner:  somebody   
     Type:  enhancement  |      Status:  new        
 Priority:  normal       |   Milestone:  Unscheduled
Component:  Other        |     Version:  1.6.1      
 Keywords:               |  
-------------------------+--------------------------------------------------

Comment(by andyfaff):

 The reference documentation for np.histogramdd does not specify that a
 supplied sequence for a bin specification needs to be sorted. Whilst this
 may be kind of obvious it should be stated.

 Moreover, and perhaps more importantly, it does not specify that the bin
 sequence is required to be sorted in ascending order. Bin edges sorted in
 descending order do not work, the following results in a ValueError?:


 {{{
 >>>a = 0.1 * (np.arange(21.)-10)
 >>>a = a[::-1]
 >>>b = np.random.randn(100)
 >>>c,d = np.histogramdd(b, bins=[a])
 Warning: invalid value encountered in log10 Traceback (most recent call
 last):

 File "<stdin>", line 1, in <module> File
 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-
 packages/numpy/lib/function_base.py", line 314, in histogramdd

 decimal = int(-log10(dedges[i].min())) +6

 ValueError?: cannot convert float NaN to integer

 }}}



 The obvious workaround for me is to check if the bin edges are reverse
 sorted. If they are, reverse them and histogram, then reverse the output
 and bin edges. However, it would be a lot easier if histogramdd worked
 with arbitrarily sorted bin edges on each dimension. This kind of
 requirement for binning is quite common when dealing with images.

-- 
Ticket URL: <http://projects.scipy.org/numpy/ticket/2177#comment:1>
NumPy <http://projects.scipy.org/numpy>
My example project


More information about the NumPy-Tickets mailing list