Skip to content

Datarray-specific fields should be present when returning scalars from reductions #21

Description

@fperez

When an operation reduces the number of dimensions to zero, numpy returns a numpy scalar object:

In [33]: a = rand(10,10,10)

In [34]: a.sum()
Out[34]: 484.51400807908772

In [35]: _34.ndim
Out[35]: 0

In [36]: _34.shape
Out[36]: ()

For datarray, we can return scalars, but they will be plain numpy scalars, they won't have the extra datarray-specific fields (like labels, axes, ...). We can't add new fields to numpy scalars:

In [40]: _34.newfield=1
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'numpy.float64' object has no attribute 'newfield'

So this is not likely to change soon, but we want to record it here for later reference. If datarray is included in numpy, it may be easier to play with the scalar code to make datarray scalars have all the necessary fields.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions