ak.argcombinations

Defined in awkward.operations.structure on line 3694.

ak.argcombinations(array, n, replacement=False, axis=1, fields=None, parameters=None, with_name=None, highlevel=True, behavior=None)
Parameters
  • array – Array from which to choose n items without replacement.

  • n (int) – The number of items to choose from each list: 2 chooses unique pairs, 3 chooses unique triples, etc.

  • replacement (bool) – If True, combinations that include the same item more than once are allowed; otherwise each item in a combinations is strictly unique.

  • axis (int) – The dimension at which this operation is applied. The outermost dimension is 0, followed by 1, etc., and negative values count backward from the innermost: -1 is the innermost dimension, -2 is the next level up, etc.

  • fields (None or list of str) – If None, the pairs/triples/etc. are tuples with unnamed fields; otherwise, these fields name the fields. The number of fields must be equal to n.

  • parameters (None or dict) – Parameters for the new ak.layout.RecordArray node that is created by this operation.

  • with_name (None or str) – Assigns a "__record__" name to the new ak.layout.RecordArray node that is created by this operation (overriding parameters, if necessary).

  • highlevel (bool) – If True, return an ak.Array; otherwise, return a low-level ak.layout.Content subclass.

Computes a Cartesian product (i.e. cross product) of array with itself that is restricted to combinations sampled without replacement, like ak.combinations, but returning integer indexes for ak.Array.__getitem__.

The motivation and uses of this function are similar to those of ak.argcartesian. See ak.combinations and ak.argcartesian for a more complete description.