<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Jerome,</div><div><br></div><div>thanks for your suggestion.</div><div><br></div><div>As Tom said, a&nbsp;fast median should be implemented in numpy.</div><div>Actually this is an existing feature request from 2009.</div><div>I've added this section for things that should go into numpy / scipy on the wiki page:</div><div><h2 style="margin: 20px 0px 10px; padding: 0px; border-width: 0px 0px 1px; border-bottom-style: solid; border-bottom-color: rgb(204, 204, 204); -webkit-font-smoothing: antialiased; cursor: text; position: relative; font-size: 24px; font-family: Helvetica, arial, freesans, clean, sans-serif; background-color: rgb(255, 255, 255); z-index: auto; ">Whishlist for numpy / scipy</h2><p style="margin: 0px 0px 15px; padding: 0px; border: 0px; color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; background-color: rgb(255, 255, 255); position: static; z-index: auto; ">Here we collect features that really belong in numpy / scipy. Even if someone implements them it will take a year or two until it is released and the updated by the majority of users, so we might decide to implement these features in astropy for now.</p><ul style="margin: 15px 0px; padding: 0px 0px 0px 30px; border: 0px; color: rgb(51, 51, 51); font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; background-color: rgb(255, 255, 255); "><li style="margin: 0px; padding: 0px; border: 0px; "><a href="https://github.com/numpy/numpy/issues/1811" style="margin: 0px; padding: 0px; border: 0px; color: rgb(65, 131, 196); text-decoration: none; ">numpy issue #1811</a>: "median in average O(n) time" from 2009-09-01. There is a fast median in&nbsp;<a href="http://pypi.python.org/pypi/Bottleneck" style="margin: 0px; padding: 0px; border: 0px; color: rgb(65, 131, 196); text-decoration: none; ">bottleneck</a>, see speed comparison of numpy/scipy/bottleneck/pandas&nbsp;<a href="http://nbviewer.ipython.org/4538014" style="margin: 0px; padding: 0px; border: 0px; color: rgb(65, 131, 196); text-decoration: none; ">here</a>. I don't know if there is a plan to merge parts of bottleneck into numpy.</li><li style="margin: 0px; padding: 0px; border: 0px; "><a href="https://github.com/numpy/numpy/issues/2448" style="margin: 0px; padding: 0px; border: 0px; color: rgb(65, 131, 196); text-decoration: none; ">numpy issue #2448</a>, "Numerical-stable sum (similar to math.fsum)" from 2011-06-02</li></ul><div><br></div></div><div>Christoph</div><div><br></div><br><div><div>On Jan 15, 2013, at 11:29 AM, Thomas Robitaille &lt;<a href="mailto:thomas.robitaille@gmail.com">thomas.robitaille@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I think this is something that should be brought up with the Numpy<br>developers, and it would probably benefit everyone to have a faster<br>median calculation function (not just astronomers). At the moment,<br>Numpy just uses a quicksort, but if one could achieve speedups of 5x,<br>then I think the Numpy devs might be interested.<br><br>Cheers,<br>Tom<br><br>On 15 January 2013 10:51, Jerome Caron &lt;<a href="mailto:jerome_caron_astro@ymail.com">jerome_caron_astro@ymail.com</a>&gt; wrote:<br><blockquote type="cite">Dear Christoph<br>I think the calculation of median values in Numpy is not optimal. I don't<br>know if there are other libraries that do better?<br>On my machine I get these results:<br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">data = numpy.random.rand(5000,5000)<br>t0=time.time();print numpy.ma.median(data);print time.time()-t0<br></blockquote></blockquote></blockquote>0.499845739822<br>15.1949999332<br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">t0=time.time();print numpy.median(data);print time.time()-t0<br></blockquote></blockquote></blockquote>0.499845739822<br>4.32100009918<br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">t0=time.time();print aspylib.astro.get_median(data);print time.time()-t0<br></blockquote></blockquote></blockquote>[ 0.49984574]<br>0.90499997139<br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote>The median calculation in Aspylib is using C code from Nicolas Devillard<br>(can be found here: <a href="http://ndevilla.free.fr/median/index.html">http://ndevilla.free.fr/median/index.html</a>) interfaced<br>with ctypes.<br>It could be easily re-used for other, more official packages. I think the<br>code also finds quantiles efficiently.<br>Kind regards<br>Jerome Caron<br><br>De : Christoph Deil &lt;<a href="mailto:deil.christoph@googlemail.com">deil.christoph@googlemail.com</a>&gt;<br>À : "<a href="mailto:astropy@scipy.org">astropy@scipy.org</a> list" &lt;<a href="mailto:astropy@scipy.org">astropy@scipy.org</a>&gt;<br>Envoyé le : Mardi 15 janvier 2013 8h42<br>Objet : [AstroPy] Missing some statistical method for your astronomy<br>analyses in Python?<br><br>Dear all,<br><br>we would like to know which statistical methods you want to use for you<br>astronomy work with Python that are not readily available e.g. in scipy or<br>one of the existing scientific Python packages like e.g. statsmodels,<br>scikit-learn, astroML, …<br><br>Please visit the wiki page for what has already been suggested, then reply<br>to this email or make an addition to the<br><a href="https://github.com/astropy/astropy/wiki/What-methods-do-we-want-in-astropy.stats?">https://github.com/astropy/astropy/wiki/What-methods-do-we-want-in-astropy.stats?</a><br>wiki page directly.<br><br>The plan is to add these methods either to astropy.stats or, if they are not<br>astronomy-specific, to one of the existing scientific Python packages.<br><br>Christoph<br><br>PS: This discussion started as a thread on astropy-dev (<br>https://groups.google.com/d/topic/astropy-dev/Zwgafam171E/discussion ), but<br>it was suggested to also ask here.<br><br>_______________________________________________<br>AstroPy mailing list<br>AstroPy@scipy.org<br>http://mail.scipy.org/mailman/listinfo/astropy<br><br><br><br>_______________________________________________<br>AstroPy mailing list<br>AstroPy@scipy.org<br>http://mail.scipy.org/mailman/listinfo/astropy<br><br></blockquote>_______________________________________________<br>AstroPy mailing list<br><a href="mailto:AstroPy@scipy.org">AstroPy@scipy.org</a><br>http://mail.scipy.org/mailman/listinfo/astropy<br></blockquote></div><br></body></html>