astronomy-commons / astronomy-commons/lsdb
Add Catalog.eval() method
- Dominant language
- Python
- Stars
- 55
- Forks
- 26
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 8
Description
**Feature request**
`pd.DataFrame.eval` is a useful tool for creating new columns and manipulating column data safely. While it supports a limited set of functionalities, it is particularly helpful for adding new columns to a `Catalog`—a feature that is currently accessible only through `Catalog.map_partitions` and `Catalog.assign`.
It is supported by `nested-pandas`, but not `nested_dask` yet:
https://github.com/lincc-frameworks/nested-dask/issues/63
**Before submitting**
Please check the following:
- [x] I have described the purpose of the suggested change, specifying what I need the enhancement to accomplish, i.e. what problem it solves.
- [ ] I have included any relevant links, screenshots, environment information, and data relevant to implementing the requested feature, as well as pseudocode for how I want to access the new functionality.
- [ ] If I have ideas for how the new feature could be implemented, I have provided explanations and/or pseudocode and/or task lists for the steps.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by comparing the existing Catalog.map_partitions and Catalog.assign APIs with the nested-pandas support for DataFrame.eval, using the linked nested_dask issue as context. Done means Catalog exposes eval() for creating new columns and manipulating column data as described, with behavior consistent with the supported functionality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- pandas, python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100