a numarray question
avharut at gmail.com
avharut at gmail.com
Wed Feb 15 06:42:30 EST 2006
thanks guys!
------------
import timeit
first_way = "the_array[the_array == 0] = 5.0"
second_way = "another_array = numarray.choose(the_array == 0,
(the_array, 5.0))"
some_third_way = """\
indx = numarray.where(the_array == 0)[0]
another_array = numarray.put(the_array, indx, len(indx) * [5.0,])
"""
initial_statements = 'import numarray; the_array =
numarray.array(int(1.0e6) * [1.0, 0.0])'
t1 = timeit.Timer(first_way, initial_statements)
t2 = timeit.Timer(second_way, initial_statements)
t3 = timeit.Timer(some_third_way, initial_statements)
print '1st way takes', round(t1.timeit(number=100) / 100, 4),
'seconds\n',\
'2nd way takes', round(t2.timeit(number=100) / 100, 4),
'seconds\n',\
'3rd way takes', round(t3.timeit(number=100) / 100, 4),
'seconds'
------------
the above written stuff printed like:
1st way takes 0.0624 seconds
2nd way takes 0.0948 seconds
3rd way takes 0.0641 seconds
no any other idea on how else one might do the replacement and the
difference among those three seems to be not very big, well, i expected
something bigger.
p.s. gonna use the first way =)
More information about the Python-list
mailing list