scipp / scipp/cyclebane

Implementing `groupby`

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
1
Avg merge
1d 4h
Merged PRs (30d)
2

Description

Incomplete notes (most is still on paper or in headspace):

  • Need to support mapped nodes in __setitem__ first, otherwise groupby is relatively useless.
  • Figure out what it means and how to handle the node mapped for grouping: When grouping a DataArray (or DataFrame) we have a coord param before grouping and another coord param (with unique param values) after. How can the be reconciled with the graph, where we can't have a node twice? Or does it work already, because MappedNode includes the index name, so there is no conflict, except that convenience features like node-name based lookup do not work anymore?
  • There are cases than can be drawn easily, but are hard to setup using the syntax similar to map/reduce, combined with __setitem__ to continue the graph after reduce. Not clear if those are needed/useful, but maybe the current syntax is not sufficient.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing map/reduce syntax, setitem, and MappedNode handling. Clarify how mapped grouping nodes and coordinates should behave, including whether graph lookup remains usable and whether post-reduce continuation is required; done means these semantics are agreed and groupby is implemented accordingly.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.