home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 622374824

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions performed_via_github_app issue
https://github.com/pydata/xarray/issues/4015#issuecomment-622374824 https://api.github.com/repos/pydata/xarray/issues/4015 622374824 MDEyOklzc3VlQ29tbWVudDYyMjM3NDgyNA== 10194086 2020-05-01T12:49:42Z 2020-05-01T12:49:42Z MEMBER

It works when you set vectorize=False

```python da2 = xr.apply_ufunc( func, da, vectorize=False, dask="parallelized", output_dtypes=[da.dtype],

)
assert da2.dtype == da.dtype, "wrong dtype"
```

or when you pass your own meta:

```python da2 = xr.apply_ufunc( func, da, vectorize=True, dask="parallelized", output_dtypes=[da.dtype], meta=da )

assert da2.dtype == da.dtype, "wrong dtype" ```

This also goes wrong if the DataArray has another dtype, e.g. int:

```python da = xr.DataArray(np.arange(234).reshape(2,3,4) da = da.chunk(dict(dim_1=1)) da2 = xr.apply_ufunc( func, da, vectorize=True, dask="parallelized", output_dtypes=[da.dtype], )

assert da2.dtype == da.dtype, "wrong dtype" ```

Indeed, the dtype of meta takes precedence over the dtype (https://github.com/dask/dask/blob/25005e19cc30e8b2877d4dadbaef378ee912bdc0/dask/array/core.py#L1022):

meta : empty ndarray
    empty ndarray created with same NumPy backend, ndim and dtype as the
    Dask Array being created (overrides dtype)
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  608974755
Powered by Datasette · Queries took 0.755ms · About: xarray-datasette