id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 505493879,MDU6SXNzdWU1MDU0OTM4Nzk=,3390,xarray.DataArray.where always returns array of float64 regardless of input dtype,6051395,open,0,,,12,2019-10-10T20:29:26Z,2021-03-02T02:42:37Z,,CONTRIBUTOR,,,,"#### MCVE Code Sample import numpy as np import xarray as xr a = xr.DataArray(np.arange(25).reshape(5, 5), dims=('x', 'y')) print(a.dtype) 'int32' a_sub = a.where(a.x + a.y < 4) a_sub.dtype 'float64' #### Expected Output a_sub should be an xarray of dtype int32 #### Problem Description The documentation (http://xarray.pydata.org/en/stable/generated/xarray.DataArray.where.html) states that return type should be the same type as caller. However, the return type is always float64 #### Output of ``xr.show_versions()`` INSTALLED VERSIONS ------------------ commit: None python: 3.7.1 | packaged by conda-forge | (default, Mar 13 2019, 13:32:59) [MSC v.1900 64 bit (AMD64)] python-bits: 64 OS: Windows OS-release: 10 machine: AMD64 processor: Intel64 Family 6 Model 45 Stepping 7, GenuineIntel byteorder: little LC_ALL: None LANG: None LOCALE: None.None libhdf5: 1.10.4 libnetcdf: 4.6.2 xarray: 0.13.0 pandas: 0.25.1 numpy: 1.17.2 scipy: 1.3.1 netCDF4: 1.4.2 pydap: None h5netcdf: None h5py: 2.9.0 Nio: None zarr: None cftime: 1.0.3.4 nc_time_axis: None PseudoNetCDF: None rasterio: 1.0.22 cfgrib: None iris: None bottleneck: None dask: 2.5.2 distributed: None matplotlib: 3.1.1 cartopy: 0.17.0 seaborn: 0.9.0 numbagg: None setuptools: 41.4.0 pip: 19.2.3 conda: None pytest: None IPython: 7.8.0 sphinx: None ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3390/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 508139990,MDExOlB1bGxSZXF1ZXN0MzI4OTkxNjM3,3408,Update where docstring to make return value type more clear,6051395,closed,0,,,3,2019-10-16T22:51:06Z,2019-10-17T14:15:48Z,2019-10-17T14:15:48Z,CONTRIBUTOR,,0,pydata/xarray/pulls/3408,"The where docstring was a little confusing to me. I misunderstood ""Same type as caller' to mean the values in the xarray not the xarray itself. I think this small change will clean it up for most users. Thanks. - [x] Closes #3390 - [x] Passes `black . && mypy . && flake8` - [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3408/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull