summaryrefslogtreecommitdiff
path: root/numpy/lib/tests/test_nanfunctions.py
Commit message (Collapse)AuthorAgeFilesLines
* ENH: add np.nanprodStephan Hoyer2015-01-051-148/+81
| | | | | | | | | | | This PR adds an implementation of `nanprod`. The actual function is a two-liner adapted from `nansum`. Most of this PR consists of documentation and tests (for which I took the opportunity to do some consolidation). A method with the same functionality exists in pandas, and I was surprised to discover that it's not in numpy.
* BUG: fix nanmedian on arrays containing infJulian Taylor2014-10-141-0/+16
| | | | | | | | | | | | | | | | | There are two issues: A masked divide of an infinite value is a masked value which means one can't use np.ma.mean to compute the median as infinity division is well defined. This behaviour seems wrong to me but it also looks intentional so changing it is not appropriate for a bugfix release. The second issue is that the ordering of the sorted masked array is undefined for equal values, the sorting considers infinity the largest floating point value which is not correct in respect to sorting where nan is considered larger. This is fixed by changing the minimum_fill_value to nan for float data in the masked sorts. Closes gh-5138
* STY: PEP8 compliance for numpy/lib/tests.Charles Harris2014-07-311-12/+12
| | | | | | | The possibly controversial part of this is making the nested array value lists PEP8 compliant, as there is something to be said aligning the values for clarity. In the end, it seemed like the easiest thing to do was to make them PEP8 compliant. The eye can get used to that.
* ENH: use masked median for small multidimensional nanmediansJulian Taylor2014-06-021-1/+17
|
* BUG: nanpercentile/nanmedian 0-d with output given.Sebastian Berg2014-05-281-40/+71
| | | | Also some PEP-8 fixes and test improvements
* ENH: added functionality nanpercentile to numpyDavid Freese2014-05-221-0/+90
| | | | | | Implemented a nanpercentile and associated tests as an extension of np.percentile to complement the other nanfunctions.
* ENH: added functionality nanmedian to numpyDavid Freese2014-05-021-4/+94
| | | | | | | | | | Implemented a nanmedian and associated tests as an extension of np.median to complement the other nanfunctions Added negative values to the unit tests Cleaned up documentation of nanmedian
* Add tests using matricesMarten van Kerkwijk2014-04-221-0/+25
|
* TST: do not use "ignore" to filter warningsSebastian Berg2014-02-211-2/+2
| | | | | | | | | | | | | | | | | When a warning is ignored (or raised once) in python, the warnings module will tag on a `__warningregistry__` dictionary to be able to filter these warnings in the future. This is tagged on to the current context, causing leakage to later calls (this is a bit more complex, since where the registry ends up depends on the layers between the original caller and warner). In short, tests should typically not use ignore but catch the warnings to avoid changing the user experience (or errors on duplicate test runs). Fixes an error on duplicate test runs (does not remove all "ignores" which may change behaviour outside tests). Closes gh-4340
* BUG: Refactor nanfunctions to behave as agreed on for 1.9.Charles Harris2013-10-041-66/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deal with subclasses of ndarray, like pandas.Series and matrix. Subclasses may not define the new keyword keepdims or deal gracefully with ufuncs in all their forms. This is solved by throwing the problem onto the np.sum, np.any, etc. functions that have ugly hacks to deal with the problem. Settle handling of all-nan slices. nanmax, nanmin -- Raise warning, return NaN for slice. nanargmax, nanargmin -- Raise ValueError. nansum -- Return 0 for slice. nanmean, nanvar, nanstd -- Raise warning, return NaN for slice. Make NaN functions work for scalar arguments. This may seem silly, but it removes a check for special cases. Update tests Deal with new all-nan handling. Test with matrix class as example of subclass without keepdims. Test with scalar arguments. Fix nanvar issue reported in #3860. Closes #3860 #3850
* STY: Make numpy/lib/test/*.py PEP8 compliant.Charles Harris2013-09-031-14/+14
| | | | | | | Run autopep8 over the test files in numpy/lib/test and make fixes to the result. Also remove Python5 workaround.
* DEP: Make nansum return 0 for all-NaN or empty axis.Charles Harris2013-08-181-27/+11
| | | | | Make this happen and remove test parts dependent on numpy version < 1.9. Fixes test failures in numpy after 1.8 branch.
* STY: Giant comma spacing fixup.Charles Harris2013-08-181-4/+4
| | | | | | | Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long and will need to be broken at some point. OTOH, some lines were already too long and need to be broken at some point. Now seems as good a time as any to do this with open PRs at a minimum.
* DOC: Various fixes.Charles Harris2013-08-141-4/+4
| | | | | | Fix typos and clarify some explanations. Document the changes in the return values of nanargmin and nanargmax for all-NaN slices in the 1.8.0 release notes.
* TST: Add tests for the nansum, nanmean, nanvar, and nanstd.Charles Harris2013-08-121-190/+367
|
* MAINT: Separate nan functions into their own module.Charles Harris2013-08-121-0/+240
New files lib/nanfunctions.py and lib/tests/test_nanfunctions.py are added and both the previous and new nan functions and tests are moved into them. The existing nan functions moved from lib/function_base are: nansum, nanmin, nanmax, nanargmin, nanargmax The added nan functions moved from core/numeric are: nanmean, nanvar, nanstd