Skip to content

Commit 03b0c2e

Browse files
committed
Merge pull request #764 from SixtyCapital/series-dataset-constructor
Coerce Series to dict in Dataset constructor
2 parents 56ddfb8 + e88dd54 commit 03b0c2e

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

xarray/core/dataset.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,11 @@ def _set_init_vars_and_dims(self, vars, coords, compat):
253253
"""
254254
_assert_empty([k for k in vars if k in coords],
255255
'redundant variables and coordinates: %s')
256+
257+
# Need to coerce Series to a dict as it doesn't implement __iter__ like a mapping
258+
# GH470
259+
vars = dict(vars) if isinstance(vars, pd.Series) else vars
260+
256261
variables = ChainMap(vars, coords)
257262

258263
aligned = align_variables(variables)

xarray/test/test_dataset.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ def test_constructor_pandas_sequence(self):
217217
def test_constructor_pandas_single(self):
218218

219219
das = [
220+
DataArray(np.random.rand(4), dims=['a']), # series
220221
DataArray(np.random.rand(4,3), dims=['a', 'b']), # df
221222
DataArray(np.random.rand(4,3,2), dims=['a','b','c']), # panel
222223
]

0 commit comments

Comments
 (0)