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/3770#issuecomment-587149607,https://api.github.com/repos/pydata/xarray/issues/3770,587149607,MDEyOklzc3VlQ29tbWVudDU4NzE0OTYwNw==,1217238,2020-02-17T20:36:37Z,2020-02-17T20:36:37Z,MEMBER,"I'd be OK with callable support in where() and other methods, as long as we
have a clear policy about what methods should/will support it.
On Mon, Feb 17, 2020 at 11:29 AM keewis wrote:
> The docs
>
> state that the builtin bool returns True for all objects unless __bool__
> is defined or __len__ returns 0 (function objects don't define either so
> they use the fallback). I'm not sure why, but I suspect it is the way it is
> to make
>
> if obj:
> ...
>
> equivalent to
>
> if obj is not None:
> ...
>
> That said I really like the callable support of pandas (e.g. Series.where),
> so maybe we should add that too?
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub
> ,
> or unsubscribe
>
> .
>
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,565626748
https://github.com/pydata/xarray/issues/3770#issuecomment-587130487,https://api.github.com/repos/pydata/xarray/issues/3770,587130487,MDEyOklzc3VlQ29tbWVudDU4NzEzMDQ4Nw==,14808389,2020-02-17T19:29:27Z,2020-02-17T19:29:27Z,MEMBER,"The [docs](https://docs.python.org/3/library/stdtypes.html#truth-value-testing) state that the builtin `bool` returns `True` for all objects unless `__bool__` is defined or `__len__` returns `0` (function objects don't define either so they use the fallback). I'm not sure why, but I suspect it is the way it is to make
```python
if obj:
...
```
equivalent to
```python
if obj is not None:
...
```
That said I really like the callable support of pandas (e.g. `Series.where`), so maybe we should add that too?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,565626748
https://github.com/pydata/xarray/issues/3770#issuecomment-586655557,https://api.github.com/repos/pydata/xarray/issues/3770,586655557,MDEyOklzc3VlQ29tbWVudDU4NjY1NTU1Nw==,5635139,2020-02-16T00:34:27Z,2020-02-16T00:34:27Z,MEMBER,"👍
a) should we type check before we pass to numpy?
b) should we support single-argument callables?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,565626748
https://github.com/pydata/xarray/issues/3770#issuecomment-586653324,https://api.github.com/repos/pydata/xarray/issues/3770,586653324,MDEyOklzc3VlQ29tbWVudDU4NjY1MzMyNA==,1217238,2020-02-16T00:01:54Z,2020-02-16T00:01:54Z,MEMBER,"This is a NumPy thing, too:
```python
In [6]: np.where(lambda: None, 1, 2)
Out[6]: array(1)
```
I think the problem is that functions cast to `True` with bool.
(I don't really understand why that is the case, but it does seem to be well-established behavior in Python)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,565626748
https://github.com/pydata/xarray/issues/3770#issuecomment-586547352,https://api.github.com/repos/pydata/xarray/issues/3770,586547352,MDEyOklzc3VlQ29tbWVudDU4NjU0NzM1Mg==,5635139,2020-02-15T03:07:14Z,2020-02-15T03:07:14Z,MEMBER,"Would we want callables to be acceptable arguments to functions like `where`, `assign`, `loc`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,565626748