Skip to content

Commit 2bfd28f

Browse files
committed
normalize all indexer types
1 parent 6510bac commit 2bfd28f

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

xarray/core/indexing.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,17 @@ def slice_slice_by_array(
355355
return new_indexer
356356

357357

358+
def normalize_indexer(indexer, size):
359+
if isinstance(indexer, slice):
360+
return normalize_slice(indexer, size)
361+
elif isinstance(indexer, np.ndarray):
362+
return normalize_array(indexer, size)
363+
else:
364+
if indexer < 0:
365+
return size + indexer
366+
return indexer
367+
368+
358369
def _index_indexer_1d(
359370
old_indexer: OuterIndexerType,
360371
applied_indexer: OuterIndexerType,
@@ -365,7 +376,7 @@ def _index_indexer_1d(
365376
return old_indexer
366377
if is_full_slice(old_indexer):
367378
# shortcut for full slices
368-
return normalize_slice(applied_indexer, size)
379+
return normalize_indexer(applied_indexer, size)
369380

370381
indexer: OuterIndexerType
371382
if isinstance(old_indexer, slice):

0 commit comments

Comments
 (0)