Aggregation and multiple tables
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 394
- Forks
- 95
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 7
Description
Currently value_key of aggregate() is either a list of names of numerical columns, either a single categorical column. It is not currently possible to mix numerical and categorical columns, or aggregate multiple categorical columns because in such cases one would have to return a SpatialData object with multiple tables.
When multiple tables are available, for instance if we go for https://github.com/scverse/spatialdata/issues/298, then we could allow for that.
If we do this, we could simplify the Xenium + Visium 00 notebook even more, by replacing multiple calls to aggregate() to a single one.
This would also improve performance since then sjoin()/overlay() will be called only once.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading issue #298 and the current aggregate() behavior described here, then inspect the Xenium + Visium 00 notebook to understand its repeated calls. Define how mixed numerical and multiple categorical columns should map to multiple tables, while preserving a single sjoin()/overlay() operation. Done means aggregate() supports that result and the notebook can replace its repeated calls with one call.
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