Skip to content

Commit 5c59b66

Browse files
authored
Allow selecting variables using a list with mixed data types (#5394)
* force object dtype in asarray * remove asarray
1 parent d2de2c7 commit 5c59b66

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

xarray/core/dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1487,7 +1487,7 @@ def __getitem__(self, key):
14871487
if hashable(key):
14881488
return self._construct_dataarray(key)
14891489
else:
1490-
return self._copy_listed(np.asarray(key))
1490+
return self._copy_listed(key)
14911491

14921492
def __setitem__(self, key: Union[Hashable, List[Hashable], Mapping], value) -> None:
14931493
"""Add an array to this dataset.

xarray/tests/test_dataset.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3305,6 +3305,11 @@ def test_getitem_hashable(self):
33053305
with pytest.raises(KeyError, match=r"('var1', 'var2')"):
33063306
data[("var1", "var2")]
33073307

3308+
def test_getitem_multiple_dtype(self):
3309+
keys = ["foo", 1]
3310+
dataset = Dataset({key: ("dim0", range(1)) for key in keys})
3311+
assert_identical(dataset, dataset[keys])
3312+
33083313
def test_virtual_variables_default_coords(self):
33093314
dataset = Dataset({"foo": ("x", range(10))})
33103315
expected = DataArray(range(10), dims="x", name="x")

0 commit comments

Comments
 (0)