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/6124#issuecomment-1004751649,https://api.github.com/repos/pydata/xarray/issues/6124,1004751649,IC_kwDOAMm_X84740sh,14371165,2022-01-04T12:04:42Z,2022-01-04T12:04:42Z,MEMBER,"I do wonder at what point a mapping isn't a mapping anymore? For example DataFrames aren't considered mappings: ```python isinstance(df, collections.abc.Mapping) Out[4]: False ``` And if we are to follow pandas example maybe we should just remove the Mapping inheritance? https://github.com/pydata/xarray/blob/60754fdbc4ecd9eb3c0978e82635c6d43e8d485b/xarray/core/dataset.py#L584","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1090229430 https://github.com/pydata/xarray/issues/6124#issuecomment-1002441911,https://api.github.com/repos/pydata/xarray/issues/6124,1002441911,IC_kwDOAMm_X847wAy3,14371165,2021-12-29T07:49:07Z,2021-12-29T07:49:07Z,MEMBER,"A `Dataset` is more similar to a `dict` or `pd.DataFrame`. DataFrame has a similar error, same cooks I suppose: ```python bool(pd.DataFrame()) *** ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). bool(pd.DataFrame([[0, 2], [0, 4]], columns=['A', 'B'])) *** ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). ``` `dict` works the same way as a dataset, if something exist in it is `True`: ```python bool({}) False bool({'a': False}) True ``` I see ""if not empty do x""-checks all the time with dicts in python code, Is it that strange to follow the behavior of `dict`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1090229430