[Numpy-discussion] Median again

Travis E. Oliphant oliphant@enthought....
Wed Jan 30 12:41:29 CST 2008


Timothy Hochberg wrote:
>
>
> On Jan 29, 2008 5:48 PM, Travis E. Oliphant <oliphant@enthought.com 
> <mailto:oliphant@enthought.com>> wrote:
>
>     Joris De Ridder wrote:
>     > On 30 Jan 2008, at 00:32, Travis E. Oliphant wrote:
>     >
>     >
>     >> Matthew Brett wrote:
>     >>
>     >>> Hi,
>     >>>
>     >>>
>     >>>>>>> median moved mediandim0
>     >>>>>>> implementation of medianwithaxis or similar, with same call
>     >>>>>>> signature as mean.
>     >>>>>>>
>     >>>>>>>
>     >>> But - for the median function change - do we agree that this
>     should
>     >>> be
>     >>> changed?  I think it is a significant wart in the numpy API,
>     and has
>     >>> caught quite a few people...
>     >>>
>     >>>
>     >> I'm fine with a median API change for 1.1.
>     >>
>     >> We can add the axis keyword for 1.0.5 as long as the default
>     stays the
>     >> same.  We can also add the other keywords as well if appropriate
>     >> defaults can be determined.
>     >>
>     >
>     > Do you mean creating a median(a, axis=0) for 1.0.5, and changing
>     it to
>     > median(a,axis=None) for 1.1? (Modulo other keywords).
>     >
>
>     Yes.   That is the approach I prefer.  
>
>
> I'm all for fixing this, but the prospect of going straight from  one 
> default to another makes me nervous. Is there is any prospect we could 
> spit out a warning when an axis is not specified for median starting 
> in 1.05 up till 1.1. It could even be a PendingDeprecationWarning, 
> which by default doesn't print anything I believe, but would allow 
> people to check there code for potential failure points.
Yes, we could start to do that (spit out a warning in 1.0.5).  This 
should definitely be done in 1.0.6

Perhaps we use axis=None to start with and then check for that and spit 
out the warning (and change axis to 0). Thanks for the pointer to 
PendingDeprecationWarning.

We could also have an APIChangeWarning that we define in NumPy which 
would allow SciPy to use it as well.

-Travis




More information about the Numpy-discussion mailing list