MCPcopy Index your code
hub / github.com/pydata/xarray / drop_dims_from_indexers

Function drop_dims_from_indexers

xarray/core/utils.py:920–965  ·  view source on GitHub ↗

Depending on the setting of missing_dims, drop any dimensions from indexers that are not present in dims. Parameters ---------- indexers : dict dims : sequence missing_dims : {"raise", "warn", "ignore"}

(
    indexers: Mapping[Any, Any],
    dims: Iterable[Hashable] | Mapping[Any, int],
    missing_dims: ErrorOptionsWithWarn,
)

Source from the content-addressed store, hash-verified

918
919
920def drop_dims_from_indexers(
921 indexers: Mapping[Any, Any],
922 dims: Iterable[Hashable] | Mapping[Any, int],
923 missing_dims: ErrorOptionsWithWarn,
924) -> Mapping[Hashable, Any]:
925 """Depending on the setting of missing_dims, drop any dimensions from indexers that
926 are not present in dims.
927
928 Parameters
929 ----------
930 indexers : dict
931 dims : sequence
932 missing_dims : {"raise", "warn", "ignore"}
933 """
934
935 if missing_dims == "raise":
936 invalid = indexers.keys() - set(dims)
937 if invalid:
938 raise ValueError(
939 f"Dimensions {invalid} do not exist. Expected one or more of {dims}"
940 )
941
942 return indexers
943
944 elif missing_dims == "warn":
945 # don't modify input
946 indexers = dict(indexers)
947
948 invalid = indexers.keys() - set(dims)
949 if invalid:
950 warnings.warn(
951 f"Dimensions {invalid} do not exist. Expected one or more of {dims}",
952 stacklevel=2,
953 )
954 for key in invalid:
955 indexers.pop(key)
956
957 return indexers
958
959 elif missing_dims == "ignore":
960 return {key: val for key, val in indexers.items() if key in dims}
961
962 else:
963 raise ValueError(
964 f"Unrecognised option {missing_dims} for missing_dims argument"
965 )
966
967
968@overload

Callers 4

_validate_indexersMethod · 0.90
iselMethod · 0.90
_selective_indexingMethod · 0.90
iselMethod · 0.90

Calls 2

keysMethod · 0.80
itemsMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…