feat(python): rework pl.exclude
as a pure selector, allowing other selectors as input
#13301
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #13247.
pl.exclude
as a dedicated selector (it now redirects to the newcs.exclude
); adds flexibility, combining all input names/dtypes/selectors into a single/compound selector expression before subtracting that fromcs.all()
.expr.meta.is_column()
, as it's useful to know if an expression is a simple column or not; this allows for some parsing simplifications/extensions here, and a follow-up PR taking additional advantage is coming shortly.Note
We can consider retiring
pl.exclude
in the future as it is now a pure redirect to the more capablecs.exclude
.Example