[Numpy-discussion] Why does fancy indexing work like this?

Aaron Meurer asmeurer at gmail.com
Wed Aug 19 21:37:51 EDT 2020


These cases don't give any deprecation warnings in NumPy master:

>>> np.arange(0)[np.array([0]), False]
array([], dtype=int64)
>>> np.arange(0).reshape((0, 0))[np.array([0]), np.array([], dtype=int)]
array([], dtype=int64)

Is that intentional?

Aaron Meurer

On Thu, Jul 23, 2020 at 12:18 PM Aaron Meurer <asmeurer at gmail.com> wrote:
>
> > After writing this, I realized that I actually remember the *opposite*
> > discussion occurring before.  I think in some of the equality
> > deprecations, we actually raise the new error due to an internal
> > try/except clause.  And there was a complaint that its confusing that a
> > non-deprecation-warning is raised when the error will only happen with
> > DeprecationWarnings being set to error.
> >
> > - Sebastian
>
> I noticed that warnings.catch_warnings does the right thing with
> warnings that are raised alongside an exception (although it is a bit
> clunky to use).
>
> Aaron Meurer


More information about the NumPy-Discussion mailing list