[yt-users] h5py execution time
Jean-Claude Passy
jcpassy at gmail.com
Fri Aug 13 15:49:14 PDT 2010
Hi Stephen,
thanks, this was obvious but I did not think about it.
Please enlarge my knowledge: why did "my method" with h5py require much
more time than yours using Numpy ?
Thanks,
JC
On 12/08/10 19:03, Stephen Skory wrote:
> JC,
>
>> for k1 in range(0,size[0],1):
>> for k2 in range(0,size[1],1):
>> for k3 in range(0,size[2],1):
>> if (density[k1,k2,k3]> Threshold):
>> tmp[k1,k2,k3] = SomeValue
>> else:
>> tmp[k1,k2,k3] = 0.0
>
> Using Numpy array functions will make your life much better! Here is a simple
> example below that I think is roughly what you want to do. It should at least
> get you started down the right path. Luckily, 'density' is already a numpy array
> when it gets read in, so you're good to go!
>
>
> In [1]: import numpy as np
>
> In [2]: a = np.random.random((2,2,2))
>
> In [3]: a
> Out[3]:
> array([[[ 0.97104489, 0.25985399],
> [ 0.02646919, 0.50027277]],
>
> [[ 0.21725962, 0.19100341],
> [ 0.96593371, 0.65269835]]])
>
> In [4]: big = (a> 0.5)
>
> In [5]: small = (a<= 0.5)
>
> In [6]: b = big * 0.7 + small * 0
>
> In [7]: b
> Out[7]:
> array([[[ 0.7, 0. ],
> [ 0. , 0.7]],
>
> [[ 0. , 0. ],
> [ 0.7, 0.7]]])
>
>
>
>
> _______________________________________________________
> sskory at physics.ucsd.edu o__ Stephen Skory
> http://physics.ucsd.edu/~sskory/ _.>/ _Graduate Student
> ________________________________(_)_\(_)_______________
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
More information about the yt-users
mailing list