Skip to content

Groupby exclude dimension #1013

Open
Open

Description

@pwolfram

Is there some way to do a groupby operation where some dimension is excluded from the operation, e.g., a vectorized version of something like this:

vertlevels = [ds.vel.sel(nVertLevels=i).groupby('y').mean() for i in ds.nVertLevels]
xavgvel = xr.concat(vertlevels, 'nVertLevels')

The application here is to average 3D data in the x coordinate to the unique y coordinates, but not the vertical coordinate.

Thus, we are basically looking for something that allows a coordinate to be excluded from the groupby operation, e.g., in this case the vertical coordinate. Ideally this would also be possible within the context of the groupby_bins operation.

Any ideas on how this should work or a pointer on how to implement this type of operation more cleanly with existing infrastructure is greatly appreciated. This appears to be related to #324 and especially (perhaps identically) #924.

cc @vanroekel, @shoyer, @jhamman, @rabernat, @MaximilianR

Activity

  1. rabernat commented on Sep 21, 2016

    @rabernat
    Contributor

    I explicitly listed this as a TODO in my multidimensional groupby PR (#818):
    https://github.com/pydata/xarray/blob/master/xarray/core/groupby.py#L166

    It would definitely be useful and is totally doable!

  2. shoyer commented on Sep 21, 2016

    @shoyer
    Member

    My guess is that this could be implemented pretty quickly on top of #924, which is currently on hold while I finish up #964.

  3. pwolfram commented on Sep 21, 2016

    @pwolfram
    ContributorAuthor

    Thanks @rabernat and @shoyer!

  4. rabernat commented on Sep 21, 2016

    @rabernat
    Contributor

    If only we could clone @shoyer!

  5. pwolfram commented on Sep 21, 2016

    @pwolfram
    ContributorAuthor

    Isn't there a git command for that? ;-)

  6. pwolfram commented on Sep 21, 2016

    @pwolfram
    ContributorAuthor

    Thanks for making everyone's life so much better via xarray and for helping us all to contribute to this process @shoyer!

  7. pwolfram commented on Mar 22, 2017

    @pwolfram
    ContributorAuthor

    Note, this issue should be resolvable via #924.

  8. stale commented on Oct 4, 2020

    @stale

    In order to maintain a list of currently relevant issues, we mark issues as stale after a period of inactivity

    If this issue remains relevant, please comment here or remove the stale label; otherwise it will be marked as closed automatically

  9. max-sixty commented on Sep 25, 2024

    @max-sixty
    Collaborator

    Is this still current?

  10. dcherian commented on Sep 25, 2024

    @dcherian
    Contributor

    Yes

  11. dcherian commented on Apr 29, 2025

    @dcherian
    Contributor

    #10258 enables this with flox, the classic loopy version will still error.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions