Skip to content

Slicing Datasets is inclusive of upper bound, rather than exclusive #1585

@sjperkins

Description

@sjperkins

Slicing a Dataset with a slice object includes the upper bound, which is different from python, numpy etc.

python 2.7.12, xarray 0.9.6. #1492 (comment) may be relevant, a quick search didn't reveal other issues:

The following illustrates the issue:

import numpy as np
import xarray as xr

time = xr.DataArray(np.arange(50), dims=['time'], coords={'time' : np.arange(50)})
data = xr.DataArray(np.arange(1000), dims=['row'], coords={'row' : np.arange(1000)})

ds = xr.Dataset({"time" : time, "data" : data})

print ds.sel(time=slice(0,10), row=slice(0,100))
print ds.sel(time=slice(0,10-1), row=slice(0,100-1))

produces

<xarray.Dataset>
Dimensions:  (row: 101, time: 11)
Coordinates:
  * row      (row) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
  * time     (time) int64 0 1 2 3 4 5 6 7 8 9 10
Data variables:
    data     (row) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...


<xarray.Dataset>
Dimensions:  (row: 100, time: 10)
Coordinates:
  * row      (row) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
  * time     (time) int64 0 1 2 3 4 5 6 7 8 9
Data variables:
    data     (row) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions