018ReviewseniorPython / xarray + dask真实来源改编 xarray
xarray:更新 Dataset 时处理 DataArray tuple 输入
审查一个 xarray PR:作者在 tuple 输入中把 DataArray 转成 ndarray,以避免 Variable 构造的歧义。
@@ 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)