On Wed, Mar 17, 2010 at 14:07, <josef.pktd@gmail.com> wrote:
On Wed, Mar 17, 2010 at 3:01 PM, Robert Kern <robert.kern@gmail.com> wrote:
On Wed, Mar 17, 2010 at 14:04, Christopher Barker <Chris.Barker@noaa.gov> wrote:
Friedrich Romstedt wrote:
Code:
import numpy import time
a = numpy.random.random((2000, 2000))
start = time.time() a[abs(a) < 10] = 0 stop = time.time()
I highly recommend ipython and its "timeit" function --much better for this.
And numpy.clip() may be helpful here,
No, it's not.
why not?
np.clip([-1,-5,1,1e90,np.inf, np.nan], 0, np.inf) array([ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 1.00000000e+90, Inf, NaN])
Why do you think that's equivalent? That just clips negative numbers to 0. The question is how to set numbers of small absolute magnitude to 0. -- 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