Mark.Miller wrote: > Check how you're implementing the histogram function with respect to > that range statement. It seems to make a difference, desirable or not. > > >>> import numpy > >>> numpy.__version__ > '1.0.4.dev3982' > >>> A = numpy.array([1, 2, 3, 4, 5, 6, 5, 4, 5, 4, 3, 2, 1]) > >>> (x, y) = numpy.histogram(A, range(0, 7)) > >>> x > array([0, 2, 2, 2, 3, 3, 1]) > >>> y > [0, 1, 2, 3, 4, 5, 6] > >>> > >>> (x, y) = numpy.histogram(A, range=(0, 7)) > >>> x > array([0, 2, 2, 0, 2, 3, 0, 3, 1, 0]) > >>> y > array([ 0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3])
Please check the signature of numpy.histogram(). The two aren't intended to be the same. The range argument has nothing to do with the builtin range() function. > >>> > >>> > >>> (x, y) = numpy.histogram(A, range(7,0)) > >>> x > array([], dtype=int32) > >>> y > [] > >>> > > Note that in the last case, the histogram function isn't returning > anything for a descending range. > > Also notice that you're overwriting a python function with the way > you're assigning things.... No, he's not. "range" is a keyword argument to histogram(). He's using it correctly. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
