cudf.MultiIndex.get_loc#
- MultiIndex.get_loc(key, method=None, tolerance=None)#
Get location for a label or a tuple of labels.
The location is returned as an integer/slice or boolean mask.
- Parameters
- keylabel or tuple of labels (one for each level)
- methodNone
- Returns
- locint, slice object or boolean mask
If index is unique, search result is unique, return a single int.
If index is monotonic, index is returned as a slice object.
Otherwise, cudf attempts a best effort to convert the search result into a slice object, and will return a boolean mask if failed to do so. Notice this can deviate from Pandas behavior in some situations.
Examples
>>> import cudf >>> mi = cudf.MultiIndex.from_tuples( ... [('a', 'd'), ('b', 'e'), ('b', 'f')]) >>> mi.get_loc('b') slice(1, 3, None) >>> mi.get_loc(('b', 'e')) 1 >>> non_monotonic_non_unique_idx = cudf.MultiIndex.from_tuples( ... [('c', 'd'), ('b', 'e'), ('a', 'f'), ('b', 'e')]) >>> non_monotonic_non_unique_idx.get_loc('b') # differ from pandas slice(1, 4, 2)
Pandas Compatibility Note
MultiIndex.get_loc
The return types of this function may deviates from the method provided by Pandas. If the index is neither lexicographically sorted nor unique, a best effort attempt is made to coerce the found indices into a slice. For example:
>>> import pandas as pd >>> import cudf >>> x = pd.MultiIndex.from_tuples([ ... (2, 1, 1), (1, 2, 3), (1, 2, 1), ... (1, 1, 1), (1, 1, 1), (2, 2, 1), ... ]) >>> x.get_loc(1) array([False, True, True, True, True, False]) >>> cudf.from_pandas(x).get_loc(1) slice(1, 5, 1)