018ReviewseniorPython / xarray + dask真实来源改编 xarray

xarray:更新 Dataset 时处理 DataArray tuple 输入

审查一个 xarray PR:作者在 tuple 输入中把 DataArray 转成 ndarray,以避免 Variable 构造的歧义。

ai-pr.diffdiff · 13 lines
diff --git a/xarray/core/variable.py b/xarray/core/variable.py@@     elif isinstance(obj, tuple):+        if isinstance(obj[1], DataArray):+            # Avoid ambiguous DataArray construction by materializing values.+            obj = (obj[0], np.asarray(obj[1]), *obj[2:])         try:             obj = Variable(*obj)@@+def test_update_dataarray_tuple_values_equal():+    ds.update({'foo': (('x', 'y'), chunked_da)})+    assert_array_equal(ds.foo.values, chunked_da.values)