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 #1406
Previously, the
ak.lookup()
function, which treats key-value pairs as a function to be applied over args, implicitly assumed that the user-supplied keys were in the order output byak.unique()
andak.GroupBy()
. This is the most common usage, but it is not inherent to the semantics of the function, and when a user (legitimately) supplied keys that were unique but unordered,ak.lookup()
would return the wrong answer.This PR fixes that behavior by performing
ak.GroupBy(keys)
to ensure the anticipated ordering. Because this can be an expensive step, it also adds akeys_from_unique
keyword arg as a shortcut for when keys come from unique/GroupBy.This PR also adds a unit test for
ak.lookup
in thejoin_test.py
file (because lookup is a special case of a join).