| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
xref https://github.com/numpy/numpy/pull/23302
|
| |
| |
| |
| |
| |
| | |
Swaps the order to the correct thing and thus
closes gh-23651
|
| |\
| | |
| | | |
BUG: Fix masked array raveling when `order="A"` or `order="K"`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This transitively fixes gh-22912. I had alooked a bit into whether
it is worthwhile to preserve the mask order, but TBH, we seem to not
do so in so many places, that I don't think it really is worthwhile.
Applying `order="K"` or `order="A"` to the data and mask separately
is an big bug though.
Closes gh-22912
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Giving a warning for invalid/overflow in settitem/casts is right
(IMO), however for masked arrays it can be surprising since the
warning is not useful if the value is invalid but also masked.
So, simply blanket ignore the relevant warnings in setitem via errstate.
(There may be some other cases like `.astype()` where it might be
helpful to MA users to just blanket opt-out of these new warnings.)
Closes gh-23000
|
| |
| |
| | |
Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
|
| |
| |
| |
| | |
Co-authored-by: Charles Harris <charlesr.harris@gmail.com>
Co-authored-by: Ross Barnowski <rossbar@berkeley.edu>
|
| |
| |
| |
| |
| |
| |
| | |
* DOC: Add example to np.ma.compressed().
* Update example.
* Update core.py
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |\
| | | |
| | | | |
BUG: ma with structured dtype
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes #22041
* add regression test and fix for creating a masked array with a
structured dtype; the test is simply for lack of error in the repoducer
* the concern expressed by core team in matching issue was that
`astropy` might be negatively affected; I ran full `astropy` (hash: `c9ad7c56`)
test suite locally with this feature branch and it seemed "ok,"
just 1 unrelated network failure in the network-requiring tests
(`test_ftp_tls_auto`):
```1 failed, 21430 passed, 3490 skipped, 176 xfailed, 23275 warnings in
430.18s (0:07:10)```
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The comparison operators seem to be missing annotations; whereas pretty
much every other operator is annotated.
This causes pytype to conclude that the output of, say, __gt__ is a
regular ndarray, which isn't true.
|
| | |
| | |
| | |
| | | |
[skip cirrus]
|
| |/ |
|
| |
| |
| |
| | |
Closes gh-22617
|
| |
| |
| |
| |
| | |
* handle 0-D masked object array deepcopies, with
regression test, based on reviewer feedback
|
| |
| |
| |
| |
| | |
* the deepcopy of masked array object type now also includes
the components beyond just `_data`; add a related test case
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* guard masked array `__deepcopy__` special object
handling behind `dtype.hasobject`, based on reviewer
feedback
* masked array `__deepcopy__` for object type handling
now deepcopies from `self._data` directly, based on
reviewer feedback
* add a test case for 2D masked array object
deepcopies, since reviewer was not convinced this was
working
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #22556
Fixes #21022
* add regression test and fix for gh-22556, where
we were relying on the array `copy` arg to deepcopy
a compound object type; I thought about performance issues
here, but if you are already in the land of `object` and
you are explicitly opting in to `deepcopy`, it seems like
performance might be wishful thinking anyway
* add regression test and fix for gh-21022--this one was
weirder but seems possible to sidestep by not trying
to assign a shape of `()` to something that already has
shape `()` and a non-writeable `shape` attribute
|
| |\
| | |
| | | |
ENH: Add slots to NDArrayOperatorsMixin allowing them in subclasses
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Port CORE diff relevant code to MA and adapt docstrings examples and add tsts.
Closes gh-22465
|
| |/
| |
| |
| |
| |
| |
| | |
* DOC: Add example for np.ma.diag as part of numpy#22269
* Add descriptions to example.
* Fix typo.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Matplotlib relies on this, so we don't seem to have much of a choice.
I am surprised that we were not notified of the issue before release
time.
Closes gh-22720, gh-22720
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the minimal solution to fix gh-22826 with as little change
as possible.
We should fix `getdata()` but I don't want to do that in a bug-fix
release really.
IMO the alternative is to revert gh-22046 which would also revert
the behavior noticed in gh-22720 (which seems less harmful though).
Closes gh-22826
|
| |\
| | |
| | | |
BUG: `keepdims=True` is ignored if `out` is not `None` in `numpy.median`.
|
| | |
| | |
| | |
| | |
| | |
| | | |
`numpy.percentile()`, and `numpy.quantile()`.
Closes #22714, #22544.
|
| |\ \
| | |/
| |/| |
BENCH: Update MaskedArray Benchmarks
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| | |
This PR Closes gh-17046.
The problem was that when calling mask=None, the array creation took seconds compared to the microseconds needed when calling mask=False.
Using `mask=None` is a bit dubious, since it has a different meaning from the default `mask=nomask`, but the speed trap is so hard to find, that it seems pragmatic to support it. OTOH, it also would seem fine to deprecate the whole path (or maybe see if the path can be sped up so that the speed difference isn't forbidding eough to bother).
|
| |\
| | |
| | | |
DOC: Clarify docstring of `masked_equal` and `masked_values`
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | | |
| | | | |
ENH, CI: Add Emscripten to CI
|
| | | | |
|
| |/ /
| | |
| | |
| | | |
Xref https://github.com/numpy/numpy/pull/22228
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
The function uses the numeric scalar common dtype/promotion rules.
These are subtly different from the typical NumPy rules defined by
`np.result_type`.
Mainly, there is no good reason to have two subtly different rules
exposed and `find_common_type` is less reliable, slower, and not really
maintainable when it comes to NEP 50.
|
| |
| |
| |
| | |
Not new things, but in touched lines...
|
| |
| |
| |
| |
| |
| |
| |
| | |
In some cases, the replacement is clearly not what is intended,
in those (where setup was called explicitly), I mostly renamed
`setup` to `_setup`.
The `test_ccompile_opt` is a bit confusing, so left it right now
(this will probably fail)
|
|/ |
|
|\
| |
| | |
DEP: Deprecate conversion of out-of-bound Python integers
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This wraps the fill value into an array, the default fill value for all
ointegers is 99999 which doesn't work for many integer dtypes.
Note that this might still subtle change the behavior in other
code paths where we cannot avoid this. Plus, the deprecationwarning
may show up (and in fact be a "in the future will use the default
fill value" warning).
|
| |
| |
| |
| | |
This PR is partially addressing #22269
Added examples for ma.round and ma.round_
|