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/7767#issuecomment-1514925779,https://api.github.com/repos/pydata/xarray/issues/7767,1514925779,IC_kwDOAMm_X85aS-7T,35968931,2023-04-19T15:20:11Z,2023-04-19T15:20:31Z,MEMBER,"> So while `xr.where(cond, x, y)` is semantically, ""where condition is true, x, else y"", `da.where(cond, x)` is ""where condition is true da, else x"". Adding this description to both docstrings would be a helpful clarification IMO.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1674532233 https://github.com/pydata/xarray/issues/7767#issuecomment-1514489469,https://api.github.com/repos/pydata/xarray/issues/7767,1514489469,IC_kwDOAMm_X85aRUZ9,14808389,2023-04-19T10:20:08Z,2023-04-19T10:20:08Z,MEMBER,"According to #503, there's two reasons: the fact that for masking this is so much easier to write (including when method chaining), and it is also API inherited from `pandas`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1674532233 https://github.com/pydata/xarray/issues/7767#issuecomment-1514441250,https://api.github.com/repos/pydata/xarray/issues/7767,1514441250,IC_kwDOAMm_X85aRIoi,14808389,2023-04-19T09:45:27Z,2023-04-19T09:46:47Z,MEMBER,"to elaborate on that, `xr.DataArray.where` uses `self` as ""then"" and the second argument as ""other"", while for `xr.where` the second argument is ""then"" and the third argument is ""other"" (the condition is the first argument for both). This API allows masking using just ```python arr.where(mask) ```","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1674532233 https://github.com/pydata/xarray/issues/7767#issuecomment-1514437541,https://api.github.com/repos/pydata/xarray/issues/7767,1514437541,IC_kwDOAMm_X85aRHul,5821660,2023-04-19T09:42:29Z,2023-04-19T09:42:29Z,MEMBER,"I think the equivalent incantation would be (note the different order of arguments in `xr.where`): ```python da = xr.DataArray(np.arange(10)) print(xr.where(da < 5, da, 0).values) print(da.where(da < 5, 0).values) ``` ``` [0 1 2 3 4 0 0 0 0 0] [0 1 2 3 4 0 0 0 0 0] ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1674532233