I have an array of floats and want their floor values as integers. (e.g. to use them as indexes for a table lookup)
It seems reasonable to assume this is a frequent use of floor. Anyway, you gave me a better vay to do it: >>> myints = n.floor(myarray).astype(n.int) On Mon, Sep 25, 2017 at 7:23 AM, Thomas Jollans <t...@tjol.eu> wrote: > On 2017-09-25 10:59, Renato Fabbri wrote: > > """ > > In [3]: n.floor(n.linspace(0,5,7), dtype=n.int <http://n.int>) > > ------------------------------------------------------------ > --------------- > > TypeError Traceback (most recent call > last) > > <ipython-input-3-1471f5d738e8> in <module>() > > ----> 1 n.floor(n.linspace(0,5,7), dtype=n.int <http://n.int>) > > > > TypeError: No loop matching the specified signature and casting > > was found for ufunc floor > > > > In [4]: n.__version__ > > Out[4]: '1.11.0' > > """ > > > > Is this the expected behavior? > > Yes. There is no floor function for integers. > > The dtype argument specified not only the return type, but the type the > calculation is done in as well. floor() only exists, and only makes > sense, for floats. (You can use floor(a, dtype='f4') and so on to insist > on floats of a different width) > > If you have some floats, and you want to get their floor as integers, > you'll have to cast. In that case, in actual fact, there is little > reason to use floor at all: > > In [2]: np.arange(1.9, 11.) > Out[2]: array([ 1.9, 2.9, 3.9, 4.9, 5.9, 6.9, 7.9, 8.9, > 9.9, 10.9]) > > In [3]: np.arange(1.9, 11.).astype('i8') > Out[3]: array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) > > > > > > I am doing: > >>>> myints = n.array(n.floor(myarray), dtype=n.int <http://n.int>) > > to get the integers. > > > > tx. > > R. > > > > > > -- > > Renato Fabbri > > GNU/Linux User #479299 > > labmacambira.sourceforge.net <http://labmacambira.sourceforge.net> > > > > > > _______________________________________________ > > NumPy-Discussion mailing list > > NumPy-Discussion@python.org > > https://mail.python.org/mailman/listinfo/numpy-discussion > > > > > -- > Thomas Jollans > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion > -- Renato Fabbri GNU/Linux User #479299 labmacambira.sourceforge.net
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion