| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)```
|
| | |
| | |
| | |
| | | |
[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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
`numpy.percentile()`, and `numpy.quantile()`.
Closes #22714, #22544.
|
| |
| |
| |
| |
| |
| |
| | |
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).
|
| | |
|
|/
|
|
|
|
|
|
|
| |
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)
|
| |
|
|\
| |
| | |
BUG: Make `mask_invalid` consistent with `mask_where` if `copy` is set to `False`
|
| | |
|
| | |
|
| |
| |
| |
| | |
test for type erroring.
|
| | |
|
|\ \
| |/
|/| |
BUG: Distinguish exact vs. equivalent dtype for C type aliases.
|
| |
| |
| |
| |
| | |
Fix a false mismatch. Separate dtype objects, even if equivalent,
cause distinct array views to be created.
|
| |
| |
| |
| | |
This reverts commit e2efced9bdfc773f5aca2487f12ab1cb2bd11833.
|
| |
| |
| |
| | |
This reverts commit 6b8d55e66e532d66e1701ad039b4cda306839b3f.
|
| |
| |
| |
| | |
This reverts commit 8cd6f4ca00b6e0da3833fc267d50067b2ddbc069.
|
| |
| |
| |
| |
| |
| |
| | |
Fixed issue that occurs when trying to take the median of a list of masked arrays.
Added a check to see if the input is a list then converts to a masked array.
See issue #10757 for more information.
Co-authored-by: jsclose <jsclose@umich.edu>
|
|/
|
|
|
| |
Adapted from the problem reported at
https://github.com/numpy/numpy/pull/21977#issuecomment-1186082534
|
|
|
|
|
| |
This test makes sure that a MaskedArray defers properly to another
class if it doesn't know how to handle it. See #15200.
|
|
|
|
|
|
| |
This enables any ufunc numpy operations that are called on a
MaskedArray to use the masked version of that function automatically
without needing to resort to np.ma.func() calls.
|
| |
|
|
|
|
|
| |
This test makes sure that a MaskedArray defers properly to another
class if it doesn't know how to handle it. See #15200.
|
|
|
|
|
|
| |
This enables any ufunc numpy operations that are called on a
MaskedArray to use the masked version of that function automatically
without needing to resort to np.ma.func() calls.
|
|
|
|
|
|
|
|
|
| |
(#21851)
The keepdims flag needs to be applied during the calculation of the sum of
the weights in np.average and np.ma.average. Not passing it causes weights
to broadcast incorrectly.
Fixes #21850
|
|
|
|
|
|
|
|
|
|
| |
This defines the comparison operators (other than `==` and `!=`)
explicitly for masked arrays.
The mask is ignored for the resuling `res._data` (unlike `==` and
`!=` which take the mask into account.
Closes gh-21770, although the way that masked arrays propagate the
fill-value seems generally broken and error prone.
|
| |
|
| |
|
|\
| |
| | |
BUG: change `ma.mean` dtype to be consistent with `np.mean`
|