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/7342#issuecomment-1346381256,https://api.github.com/repos/pydata/xarray/issues/7342,1346381256,IC_kwDOAMm_X85QQCXI,12237157,2022-12-12T12:17:45Z,2022-12-12T12:17:45Z,CONTRIBUTOR,Closing in favour of https://github.com/pydata/xarray/issues/7369,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1471561942
https://github.com/pydata/xarray/issues/7342#issuecomment-1336391175,https://api.github.com/repos/pydata/xarray/issues/7342,1336391175,IC_kwDOAMm_X85Pp7YH,12237157,2022-12-04T11:46:04Z,2022-12-04T11:46:04Z,CONTRIBUTOR,"True.
> So it sounds like what you're hoping for is separate per-column or per-row color scaling?
Exactly. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1471561942
https://github.com/pydata/xarray/issues/7045#issuecomment-1249758907,https://api.github.com/repos/pydata/xarray/issues/7045,1249758907,IC_kwDOAMm_X85Kfc67,12237157,2022-09-16T20:06:21Z,2022-09-16T20:06:21Z,CONTRIBUTOR,"@shoyer could you maybe provide a code example of the current index aligned behaviour and a future not index aligned behaviour?
I am a bit worried about transitioning previous code bases to such new xarray releases","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1376109308
https://github.com/pydata/xarray/issues/3853#issuecomment-1110774460,https://api.github.com/repos/pydata/xarray/issues/3853,1110774460,IC_kwDOAMm_X85CNRK8,12237157,2022-04-27T09:24:36Z,2022-04-27T09:24:36Z,CONTRIBUTOR,"It is possible to set `ECCODES_DEFINITION_PATH` in `eccodes`, see http://download.ecmwf.int/test-data/eccodes/html/namespaces.html. But the `codetab` you want to use here from MPIESM `grb` output is a CDO parameter table, see https://code.mpimet.mpg.de/projects/cdo/embedded/cdo.pdf#section.1.8, so in my understanding something CDO internal and likely not usable with `eccodes`/`cfgrib`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,578427969
https://github.com/pydata/xarray/issues/6510#issuecomment-1110248539,https://api.github.com/repos/pydata/xarray/issues/6510,1110248539,IC_kwDOAMm_X85CLQxb,12237157,2022-04-26T21:06:04Z,2022-04-26T21:06:04Z,CONTRIBUTOR,To be implemented here https://github.com/pydata/xarray/blob/d479009d79374dc4a56c9f4346b1af38f5ac182c/xarray/backends/plugins.py#L102,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1214290591
https://github.com/pydata/xarray/pull/6135#issuecomment-1037063748,https://api.github.com/repos/pydata/xarray/issues/6135,1037063748,IC_kwDOAMm_X8490FZE,12237157,2022-02-12T08:28:47Z,2022-02-12T08:28:47Z,CONTRIBUTOR,"> Nice work @aaronspring! I think this is ready to go.
Thank you so much @spencerkclark for your guidance ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1093466537
https://github.com/pydata/xarray/pull/6135#issuecomment-1032848596,https://api.github.com/repos/pydata/xarray/issues/6135,1032848596,IC_kwDOAMm_X849kATU,12237157,2022-02-08T17:03:18Z,2022-02-08T17:03:18Z,CONTRIBUTOR,thank you very much for the guidance here. I hope this is now close to how you envisioned this. I merely wanted to get a small improvement in functionality and didnt expect to learn so much. thank you so far @spencerkclark ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1093466537
https://github.com/pydata/xarray/pull/6135#issuecomment-1025184642,https://api.github.com/repos/pydata/xarray/issues/6135,1025184642,IC_kwDOAMm_X849GxOC,12237157,2022-01-30T16:58:23Z,2022-02-01T15:54:29Z,CONTRIBUTOR,failing tests are unrelated to `cftime` IMO,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1093466537
https://github.com/pydata/xarray/pull/6210#issuecomment-1025546545,https://api.github.com/repos/pydata/xarray/issues/6210,1025546545,IC_kwDOAMm_X849IJkx,12237157,2022-01-31T09:40:57Z,2022-01-31T09:40:57Z,CONTRIBUTOR,In my understanding we can get rid of fkirc/skip-duplicate-actions and cancel-duplicate-runs.yaml,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1118564242
https://github.com/pydata/xarray/pull/6135#issuecomment-1025163440,https://api.github.com/repos/pydata/xarray/issues/6135,1025163440,IC_kwDOAMm_X849GsCw,12237157,2022-01-30T15:09:52Z,2022-01-30T15:09:52Z,CONTRIBUTOR,pre-commit.ci autofix,"{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 1, ""eyes"": 0}",,1093466537
https://github.com/pydata/xarray/pull/6135#issuecomment-1008437041,https://api.github.com/repos/pydata/xarray/issues/6135,1008437041,IC_kwDOAMm_X848G4cx,12237157,2022-01-09T22:33:03Z,2022-01-09T22:33:03Z,CONTRIBUTOR,thanks for the reviews so far @spencerkclark @Illviljan @max-sixty - I think I implemented the suggestions and am looking forward to your next reviews,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1093466537
https://github.com/pydata/xarray/pull/6135#issuecomment-1008277351,https://api.github.com/repos/pydata/xarray/issues/6135,1008277351,IC_kwDOAMm_X848GRdn,12237157,2022-01-09T11:13:01Z,2022-01-09T11:13:01Z,CONTRIBUTOR,"Would you remove the isinstance checks? I though that mypy does check at runtime, so it would detect a wrong input by the user. (I am still new to typing etc)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1093466537
https://github.com/pydata/xarray/issues/6045#issuecomment-985942042,https://api.github.com/repos/pydata/xarray/issues/6045,985942042,IC_kwDOAMm_X846xEga,12237157,2021-12-04T01:37:16Z,2021-12-04T03:02:12Z,CONTRIBUTOR,"code in xarray is nearly identical to pandas. Maybe I misunderstood the documentation/explanation, i.e. meaning of `month` in `freq-month` for seasonal","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1071049280
https://github.com/pydata/xarray/issues/6045#issuecomment-985925827,https://api.github.com/repos/pydata/xarray/issues/6045,985925827,IC_kwDOAMm_X846xAjD,12237157,2021-12-04T00:22:47Z,2021-12-04T00:22:47Z,CONTRIBUTOR,"the same happens also in `pandas`...
```python
import pandas as pd
i_pd = pd.date_range(start=""2000-01-01"", end=""2002-01-01"", freq=""6MS"")
i_pd
DatetimeIndex(['2000-01-01', '2000-07-01', '2001-01-01', '2001-07-01',
'2002-01-01'],
dtype='datetime64[ns]', freq='6MS')
pd.infer_freq(i_pd)
'2QS-OCT'
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1071049280
https://github.com/pydata/xarray/pull/6007#issuecomment-977396964,https://api.github.com/repos/pydata/xarray/issues/6007,977396964,IC_kwDOAMm_X846QeTk,12237157,2021-11-24T02:05:42Z,2021-11-24T02:05:42Z,CONTRIBUTOR,bokeh etc not installed anymore when temporarily not installing iris from conda https://github.com/pydata/xarray/runs/4298565586?check_suite_focus=true,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1058047751
https://github.com/pydata/xarray/issues/4610#issuecomment-853138609,https://api.github.com/repos/pydata/xarray/issues/4610,853138609,MDEyOklzc3VlQ29tbWVudDg1MzEzODYwOQ==,12237157,2021-06-02T15:45:45Z,2021-06-02T15:45:45Z,CONTRIBUTOR,"> This makes sense, but it sounds like this suggestion (of accepting Datasets not just DataArrays) is mostly a convenience tool for applying histograms to particular variables across multiple datasets quickly. It's not fundamentally different to picking and choosing the variables you want from multiple datasets and feeding them in to histogram as dataarrays.
agree.
> I think we should focus on including features that enable analyses that would otherwise be difficult or impossible, for example ND bins
looking forward to the PR","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,750985364
https://github.com/pydata/xarray/issues/4610#issuecomment-852944667,https://api.github.com/repos/pydata/xarray/issues/4610,852944667,MDEyOklzc3VlQ29tbWVudDg1Mjk0NDY2Nw==,12237157,2021-06-02T11:22:07Z,2021-06-02T11:22:07Z,CONTRIBUTOR,"I like your explanation of the two different inputs @dougiesquire and for multi-dim datasets these must be xr.datasets. my point about the `bins` is that if the inputs are two xr.datasets, then also the bins should be two xr.datasets. If the `bins` were only two xr.Arrays, then how could these bins discriminate for the different variables in the inputs?","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,750985364
https://github.com/pydata/xarray/issues/4610#issuecomment-852428526,https://api.github.com/repos/pydata/xarray/issues/4610,852428526,MDEyOklzc3VlQ29tbWVudDg1MjQyODUyNg==,12237157,2021-06-01T20:36:25Z,2021-06-01T20:36:25Z,CONTRIBUTOR,"I am unsure about this and cannot manage to put my Südasien down precisely.
Calculating a contingency table for instance between two multivar inputs:
ˋˋˋ
xhistogram(ds_observations_multivar, ds_forecast_multivar, bins=[ds_obs_multivar_edges, ds_forecast_multivar_edges ])
ˋˋˋ
as in https://github.com/xarray-contrib/xskillscore/blob/6f7be06098eefa1cdb90f7319f577c274621301c/xskillscore/core/contingency.py#L156
maybe @dougiesquire can phrase this more precisely","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,750985364
https://github.com/pydata/xarray/issues/4610#issuecomment-852364749,https://api.github.com/repos/pydata/xarray/issues/4610,852364749,MDEyOklzc3VlQ29tbWVudDg1MjM2NDc0OQ==,12237157,2021-06-01T18:51:47Z,2021-06-01T18:51:47Z,CONTRIBUTOR,"> What I'm unclear about is what you want to achieve by inputting an xarray.Dataset that couldn't be done with inputs of ND xr.DataArrays as both data and bins?
with dataset bins I want to have different bin_edges for each dataset. If bins is only a dataArray, I cannot have this. Can I?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,750985364
https://github.com/pydata/xarray/issues/4610#issuecomment-852231700,https://api.github.com/repos/pydata/xarray/issues/4610,852231700,MDEyOklzc3VlQ29tbWVudDg1MjIzMTcwMA==,12237157,2021-06-01T15:45:00Z,2021-06-01T15:45:00Z,CONTRIBUTOR,"I tried to show in https://gist.github.com/aaronspring/251553f132202cc91aadde03f2a452f9 how I would like to use xr.Datasets as `bins`, e.g. defining bin edges based on quantiles of the climatology, i.e. bin edges depend on `lon`, `lat`, maybe `weekofyear` and `variable`.
I tried show in the gist that I could be also nice to allow xr.Datasets as bins if the inputs are xr.Datasets.
> You can already choose different bins to use for each input variable`
I cannot find this in #5400. I should checkout and run the code locally.
Yep, the example xskillscore code posted doesnt allow nd bins. forgot that. correct. in my head thinking about the future it does. https://github.com/xarray-contrib/xskillscore/blob/6f7be06098eefa1cdb90f7319f577c274621301c/xskillscore/core/probabilistic.py#L498 takes xr.Datasets as bins and in a previous version we used `xhist` but then changed to make this run on `nd` arrays and `xr.Datasets`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,750985364
https://github.com/pydata/xarray/issues/4610#issuecomment-852120100,https://api.github.com/repos/pydata/xarray/issues/4610,852120100,MDEyOklzc3VlQ29tbWVudDg1MjEyMDEwMA==,12237157,2021-06-01T13:22:25Z,2021-06-01T13:24:19Z,CONTRIBUTOR,"what about a list of `xarray.Datasets` as `bins`? suppose you have an `xr.Dataset` you want to bin different variables for different bins (eg from xr.Dataset.quantile)
@dougiesquire implemented this in https://github.com/xarray-contrib/xskillscore/blob/2217b58c536ec1b3d2c42265ed6689a740c2b3bf/xskillscore/core/utils.py#L133
EDIT: seeing now that this issue and #5400 aims to implement xr.DataArray.hist only. xr.Dataset would be also nice :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,750985364
https://github.com/pydata/xarray/issues/5155#issuecomment-819566971,https://api.github.com/repos/pydata/xarray/issues/5155,819566971,MDEyOklzc3VlQ29tbWVudDgxOTU2Njk3MQ==,12237157,2021-04-14T14:34:55Z,2021-04-14T14:34:55Z,CONTRIBUTOR,"1. exists as `ds.time.to_index().calendar`
2. would like to use","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,857947050
https://github.com/pydata/xarray/issues/4804#issuecomment-760025539,https://api.github.com/repos/pydata/xarray/issues/4804,760025539,MDEyOklzc3VlQ29tbWVudDc2MDAyNTUzOQ==,12237157,2021-01-14T08:44:22Z,2021-01-14T08:44:22Z,CONTRIBUTOR,"Thanks for the suggestion with xr.align.
my speculation is that xs.pearson_r is a bit faster because we first write the whole function in numpy and then pass it through xr.apply_ufunc. I think therefore it only works for xr but not dask.da","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,785329941
https://github.com/pydata/xarray/issues/4804#issuecomment-759767957,https://api.github.com/repos/pydata/xarray/issues/4804,759767957,MDEyOklzc3VlQ29tbWVudDc1OTc2Nzk1Nw==,12237157,2021-01-13T22:04:38Z,2021-01-13T22:04:38Z,CONTRIBUTOR,Your function from the notebook could also easily implement the builtin weighted function,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,785329941
https://github.com/pydata/xarray/issues/4804#issuecomment-759766466,https://api.github.com/repos/pydata/xarray/issues/4804,759766466,MDEyOklzc3VlQ29tbWVudDc1OTc2NjQ2Ng==,12237157,2021-01-13T22:01:49Z,2021-01-13T22:01:49Z,CONTRIBUTOR,"We implemented xr.corr as xr.pearson_r in https://xskillscore.readthedocs.io/en/stable/api/xskillscore.pearson_r.html#xskillscore.pearson_r
and it’s ~30% faster than xr.corr see #4768 ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,785329941
https://github.com/pydata/xarray/pull/4597#issuecomment-733575449,https://api.github.com/repos/pydata/xarray/issues/4597,733575449,MDEyOklzc3VlQ29tbWVudDczMzU3NTQ0OQ==,12237157,2020-11-25T09:16:49Z,2020-11-25T09:16:49Z,CONTRIBUTOR,Thanks for the smooth review process @spencerkclark @keewis ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,748094631
https://github.com/pydata/xarray/pull/4597#issuecomment-731725142,https://api.github.com/repos/pydata/xarray/issues/4597,731725142,MDEyOklzc3VlQ29tbWVudDczMTcyNTE0Mg==,12237157,2020-11-22T10:11:53Z,2020-11-22T10:11:53Z,CONTRIBUTOR,"Ah I need to account for the docstring examples with only one or two items, maybe dropping freq then","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,748094631
https://github.com/pydata/xarray/pull/4597#issuecomment-731643425,https://api.github.com/repos/pydata/xarray/issues/4597,731643425,MDEyOklzc3VlQ29tbWVudDczMTY0MzQyNQ==,12237157,2020-11-21T22:04:11Z,2020-11-21T22:04:11Z,CONTRIBUTOR,also should it be frequency or freq?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,748094631
https://github.com/pydata/xarray/pull/4597#issuecomment-731637045,https://api.github.com/repos/pydata/xarray/issues/4597,731637045,MDEyOklzc3VlQ29tbWVudDczMTYzNzA0NQ==,12237157,2020-11-21T21:10:44Z,2020-11-21T21:10:44Z,CONTRIBUTOR,"I also get this error locally. somehow in some envs `xarray` (but not in others) tries to use `daysinmonth`. I also know about `days_in_month`, but just changing that in `frequencies.py` https://github.com/pydata/xarray/blob/d9ebcafaddf0bb80052d30f43ca5ea18a5c7229f/xarray/coding/frequencies.py#L261 didnt help it.
```
____________________________________________________________________________ test_cftimeindex_freq_in_repr[MS-noleap] _____________________________________________________________________________
freq = 'MS', calendar = 'noleap'
@requires_cftime
@pytest.mark.parametrize(""calendar"", [""noleap"", ""360_day""])
@pytest.mark.parametrize(""freq"", [""1D"", ""MS""])
def test_cftimeindex_freq_in_repr(freq,calendar):
index = xr.cftime_range(start=""2000"", periods=3, freq=freq, calendar=calendar)
> assert f', freq={freq}' in index.__repr__()
/Users/aaron.spring/Coding/xarray/xarray/tests/test_cftimeindex.py:952:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/Users/aaron.spring/Coding/xarray/xarray/coding/cftimeindex.py:342: in __repr__
attrs_str = format_attrs(self)
/Users/aaron.spring/Coding/xarray/xarray/coding/cftimeindex.py:263: in format_attrs
""freq"": f""'{index.freq}'""
/Users/aaron.spring/Coding/xarray/xarray/coding/cftimeindex.py:691: in freq
return infer_freq(self)
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:97: in infer_freq
return inferer.get_freq()
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:132: in get_freq
return self._infer_daily_rule()
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:165: in _infer_daily_rule
monthly_rule = self._get_monthly_rule()
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:199: in _get_monthly_rule
return {""cs"": ""MS"", ""ce"": ""M""}.get(month_anchor_check(self.index))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dates = <[AttributeError(""'cftime._cftime.DatetimeNoLeap' object has no attribute 'daysinmonth'"",) raised in repr()] CFTimeIndex object at 0x7fca9312b160>
def month_anchor_check(dates):
""""""Return the monthly offset string.
Return ""cs"" if all dates are the first days of the month,
""ce"" if all dates are the last day of the month,
None otherwise.
Replicated pandas._libs.tslibs.resolution.month_position_check
but without business offset handling.
""""""
calendar_end = True
calendar_start = True
for date in dates:
if calendar_start:
calendar_start &= date.day == 1
if calendar_end:
> cal = date.day == date.daysinmonth
E AttributeError: 'cftime._cftime.DatetimeNoLeap' object has no attribute 'daysinmonth'
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:261: AttributeError
____________________________________________________________________________ test_cftimeindex_freq_in_repr[MS-360_day] ____________________________________________________________________________
freq = 'MS', calendar = '360_day'
@requires_cftime
@pytest.mark.parametrize(""calendar"", [""noleap"", ""360_day""])
@pytest.mark.parametrize(""freq"", [""1D"", ""MS""])
def test_cftimeindex_freq_in_repr(freq,calendar):
index = xr.cftime_range(start=""2000"", periods=3, freq=freq, calendar=calendar)
> assert f', freq={freq}' in index.__repr__()
/Users/aaron.spring/Coding/xarray/xarray/tests/test_cftimeindex.py:952:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/Users/aaron.spring/Coding/xarray/xarray/coding/cftimeindex.py:342: in __repr__
attrs_str = format_attrs(self)
/Users/aaron.spring/Coding/xarray/xarray/coding/cftimeindex.py:263: in format_attrs
""freq"": f""'{index.freq}'""
/Users/aaron.spring/Coding/xarray/xarray/coding/cftimeindex.py:691: in freq
return infer_freq(self)
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:97: in infer_freq
return inferer.get_freq()
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:132: in get_freq
return self._infer_daily_rule()
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:165: in _infer_daily_rule
monthly_rule = self._get_monthly_rule()
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:199: in _get_monthly_rule
return {""cs"": ""MS"", ""ce"": ""M""}.get(month_anchor_check(self.index))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dates = <[AttributeError(""'cftime._cftime.Datetime360Day' object has no attribute 'daysinmonth'"",) raised in repr()] CFTimeIndex object at 0x7fca930cfe10>
def month_anchor_check(dates):
""""""Return the monthly offset string.
Return ""cs"" if all dates are the first days of the month,
""ce"" if all dates are the last day of the month,
None otherwise.
Replicated pandas._libs.tslibs.resolution.month_position_check
but without business offset handling.
""""""
calendar_end = True
calendar_start = True
for date in dates:
if calendar_start:
calendar_start &= date.day == 1
if calendar_end:
> cal = date.day == date.daysinmonth
E AttributeError: 'cftime._cftime.Datetime360Day' object has no attribute 'daysinmonth'
/Users/aaron.spring/Coding/xarray/xarray/coding/frequencies.py:261: AttributeError
===================================================================================== short test summary info =====================================================================================
FAILED xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[1D-noleap] - AttributeError: 'cftime._cftime.DatetimeNoLeap' object has no attribute 'daysinmonth'
FAILED xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[1D-360_day] - AttributeError: 'cftime._cftime.Datetime360Day' object has no attribute 'daysinmonth'
FAILED xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[MS-noleap] - AttributeError: 'cftime._cftime.DatetimeNoLeap' object has no attribute 'daysinmonth'
FAILED xarray/tests/test_cftimeindex.py::test_cftimeindex_freq_in_repr[MS-360_day] - AttributeError: 'cftime._cftime.Datetime360Day' object has no attribute 'daysinmonth'
======================================================================================== 4 failed in 2.58s ===========================================================================
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,748094631
https://github.com/pydata/xarray/issues/2416#issuecomment-730427143,https://api.github.com/repos/pydata/xarray/issues/2416,730427143,MDEyOklzc3VlQ29tbWVudDczMDQyNzE0Mw==,12237157,2020-11-19T14:53:08Z,2020-11-19T14:53:08Z,CONTRIBUTOR,"using this feature now alot.
@spencerkclark what about implementing also `freq` into the `CFTimeIndex` repr?
Its hard to see the frequency by eye sometimes, I would just rely on `xr.infer_freq` and add to the repr str, also if `freq` is `None`/indistinguishable","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,360420464
https://github.com/pydata/xarray/issues/4451#issuecomment-697302214,https://api.github.com/repos/pydata/xarray/issues/4451,697302214,MDEyOklzc3VlQ29tbWVudDY5NzMwMjIxNA==,12237157,2020-09-23T11:25:58Z,2020-09-23T11:25:58Z,CONTRIBUTOR,cross posted: https://github.com/Unidata/netcdf4-python/issues/1043,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,707223289
https://github.com/pydata/xarray/issues/4290#issuecomment-669204458,https://api.github.com/repos/pydata/xarray/issues/4290,669204458,MDEyOklzc3VlQ29tbWVudDY2OTIwNDQ1OA==,12237157,2020-08-05T13:48:55Z,2020-08-05T13:48:55Z,CONTRIBUTOR,"> For those who think ` bool(xr.Dataset(dict(x=False)))` should evaluate to `False`, what do you think `dict(x=False)` should evaluate to?
good point
> IIUC, this is somewhat of an edge case — it's only possible to coerce `DataArray` to bool when there's exactly one element. (Not that we shouldn't resolve)
I now understand the underlying problem better with your comments. My expectations were too naive about it. I cannot evaluate the consequences of changing this. I close this issue and hopefully users having this problem in the future will find this issue.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,668717850
https://github.com/pydata/xarray/issues/4290#issuecomment-666380379,https://api.github.com/repos/pydata/xarray/issues/4290,666380379,MDEyOklzc3VlQ29tbWVudDY2NjM4MDM3OQ==,12237157,2020-07-30T13:56:30Z,2020-07-30T14:13:24Z,CONTRIBUTOR,"currently
```python
if (xrobject > 10).any():
raise ValueError('blabla')
```
depends on whether xrobject is xr.DataArray or xr.Dataset.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,668717850
https://github.com/pydata/xarray/issues/4290#issuecomment-666370889,https://api.github.com/repos/pydata/xarray/issues/4290,666370889,MDEyOklzc3VlQ29tbWVudDY2NjM3MDg4OQ==,12237157,2020-07-30T13:39:55Z,2020-07-30T13:39:55Z,CONTRIBUTOR,"thanks for the explanation. but from a naive user perspective,
```python
bool(xr.DataArray(False).to_dataset(name='var')) # False
bool(xr.DataArray(True).to_dataset(name='var')) # True
bool(xr.DataArray(False)) # False
bool(xr.DataArray(True)) # True
```
would be nice.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,668717850
https://github.com/pydata/xarray/pull/4092#issuecomment-663138597,https://api.github.com/repos/pydata/xarray/issues/4092,663138597,MDEyOklzc3VlQ29tbWVudDY2MzEzODU5Nw==,12237157,2020-07-23T17:36:56Z,2020-07-23T17:38:38Z,CONTRIBUTOR,"My pleasure. Learnt a lot.
And it was a long-standing issue that was mentioned in a medium article about xarray looking for more contributors.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-660531286,https://api.github.com/repos/pydata/xarray/issues/4092,660531286,MDEyOklzc3VlQ29tbWVudDY2MDUzMTI4Ng==,12237157,2020-07-18T19:34:29Z,2020-07-18T19:34:29Z,CONTRIBUTOR,"> Thanks @aaronspring; this is looking very close! Just a few more minor suggestions.
I hope this is the final one. all tests pass. implemented your suggestions. took me a few commits, but I learned a lot. thanks for the guidance @spencerkclark ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-656101309,https://api.github.com/repos/pydata/xarray/issues/4092,656101309,MDEyOklzc3VlQ29tbWVudDY1NjEwMTMwOQ==,12237157,2020-07-09T12:35:49Z,2020-07-09T12:35:49Z,CONTRIBUTOR,dont understand why `isort` fails,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-654743050,https://api.github.com/repos/pydata/xarray/issues/4092,654743050,MDEyOklzc3VlQ29tbWVudDY1NDc0MzA1MA==,12237157,2020-07-07T10:00:18Z,2020-07-07T10:00:18Z,CONTRIBUTOR,"now aligns to `display_width`:
```python
for dw in [40,60,80,120]:
with xr.set_options(display_width=dw):
print(time[:2],dw,'\n')
```
```
CFTimeIndex([2000-01-01 00:00:00,
2000-01-02 00:00:00],
dtype='object',
length=2,
calendar='gregorian') 40
CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00],
dtype='object', length=2, calendar='gregorian') 60
CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00],
dtype='object', length=2, calendar='gregorian') 80
CFTimeIndex([2000-01-01 00:00:00, 2000-01-02 00:00:00], dtype='object', length=2, calendar='gregorian') 120
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-653742478,https://api.github.com/repos/pydata/xarray/issues/4092,653742478,MDEyOklzc3VlQ29tbWVudDY1Mzc0MjQ3OA==,12237157,2020-07-04T09:10:57Z,2020-07-04T09:10:57Z,CONTRIBUTOR,@spencerkclark I reimplemented the repr. Mostly went after the visuals. So now this looks like before but including calendar in the repr. Any more tests needed? Would you please give this a look?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-644035565,https://api.github.com/repos/pydata/xarray/issues/4092,644035565,MDEyOklzc3VlQ29tbWVudDY0NDAzNTU2NQ==,12237157,2020-06-15T10:08:21Z,2020-06-15T10:08:21Z,CONTRIBUTOR,I now reimplemented the visuals of pd.Index and also test against pd.Index.__repr__ @spencerkclark ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-641182167,https://api.github.com/repos/pydata/xarray/issues/4092,641182167,MDEyOklzc3VlQ29tbWVudDY0MTE4MjE2Nw==,12237157,2020-06-09T10:02:20Z,2020-06-09T15:31:03Z,CONTRIBUTOR,"now after clicking on the data item:

this PR is now ready for review. I don't understand why azure tests are failing.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-640096726,https://api.github.com/repos/pydata/xarray/issues/4092,640096726,MDEyOklzc3VlQ29tbWVudDY0MDA5NjcyNg==,12237157,2020-06-06T17:59:49Z,2020-06-06T23:22:20Z,CONTRIBUTOR,"I found a workaround with `to_index()` in `formatting.short_data_repr`. this is makes one test fail: xarray/tests/test_dask.py TestDataArrayAndDataset.test_dataarray_repr. is this ok or not a valid way to implement a cftimeindex.__repr__?
EDIT: I ensure now that `to_index` is only done when if CFTimeIndex.
Ready for review.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-640073445,https://api.github.com/repos/pydata/xarray/issues/4092,640073445,MDEyOklzc3VlQ29tbWVudDY0MDA3MzQ0NQ==,12237157,2020-06-06T14:54:31Z,2020-06-06T14:54:31Z,CONTRIBUTOR,"Currently only the cftimeindex repr shows the calendar property. I aim to get it into the dataset/dataarray repr.
would it be a good idea to modify `formatting.py.array_repr(array)`? IndexVariable uses this repr. Once `time` is a coordinate, it becomes an IndexVariable. but the index variable doesnt have this cftime.calender property anymore. Should I try to add this calendar property to the array or would this not be desired?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-638913996,https://api.github.com/repos/pydata/xarray/issues/4092,638913996,MDEyOklzc3VlQ29tbWVudDYzODkxMzk5Ng==,12237157,2020-06-04T15:10:46Z,2020-06-04T15:10:46Z,CONTRIBUTOR,"I do understand the meaning of this last sentence @spencerkclark
> My sense is that it is more important that indexes with the same date type have the same `calendar` attribute than that the `calendar` argument passed to `cftime_range` is propagated verbatim to the index it produces. What do you think?
Should I rather test on cftimeindex created in a different way?
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-638779099,https://api.github.com/repos/pydata/xarray/issues/4092,638779099,MDEyOklzc3VlQ29tbWVudDYzODc3OTA5OQ==,12237157,2020-06-04T11:02:00Z,2020-06-04T11:02:00Z,CONTRIBUTOR,"This doesnt change the html repr yet: when clicking on the data symbol, calendar is not shown in the printout. I will further try to fix this","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-638302372,https://api.github.com/repos/pydata/xarray/issues/4092,638302372,MDEyOklzc3VlQ29tbWVudDYzODMwMjM3Mg==,12237157,2020-06-03T16:17:01Z,2020-06-03T16:17:01Z,CONTRIBUTOR,"I was hoping to inherit from pandas like:
```python
def __repr__(self):
super().__repr__()
return self.__repr__().strip("")"")+f"", calendar={self.calendar}')""
```
But I will now try to rebuild as in `pandas`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/pull/4092#issuecomment-637369697,https://api.github.com/repos/pydata/xarray/issues/4092,637369697,MDEyOklzc3VlQ29tbWVudDYzNzM2OTY5Nw==,12237157,2020-06-02T08:10:24Z,2020-06-02T08:10:24Z,CONTRIBUTOR,"> > how should I extend the `__repr__` coming from `pd.Index`
>
> if you define a `__repr__` method under `CFTimeIndex`, won't it override `pd.Index.__repr__`?
Yes. I will do that. My question was whether should replicate the pd.Index.__repr__ or try to import or inherit as much as I can from pandas?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,624378150
https://github.com/pydata/xarray/issues/4025#issuecomment-625720635,https://api.github.com/repos/pydata/xarray/issues/4025,625720635,MDEyOklzc3VlQ29tbWVudDYyNTcyMDYzNQ==,12237157,2020-05-08T09:10:08Z,2020-05-08T09:10:08Z,CONTRIBUTOR,also works: `da.data.visualize()`,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,611839345
https://github.com/pydata/xarray/issues/4041#issuecomment-624905520,https://api.github.com/repos/pydata/xarray/issues/4041,624905520,MDEyOklzc3VlQ29tbWVudDYyNDkwNTUyMA==,12237157,2020-05-06T21:39:55Z,2020-05-06T21:39:55Z,CONTRIBUTOR,me too on Firefox linux ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,613579881
https://github.com/pydata/xarray/issues/4025#issuecomment-623506526,https://api.github.com/repos/pydata/xarray/issues/4025,623506526,MDEyOklzc3VlQ29tbWVudDYyMzUwNjUyNg==,12237157,2020-05-04T14:43:25Z,2020-05-04T14:43:25Z,CONTRIBUTOR,this is great. thanks for the hint.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,611839345
https://github.com/pydata/xarray/issues/2416#issuecomment-598193427,https://api.github.com/repos/pydata/xarray/issues/2416,598193427,MDEyOklzc3VlQ29tbWVudDU5ODE5MzQyNw==,12237157,2020-03-12T13:44:45Z,2020-03-12T13:44:45Z,CONTRIBUTOR,would this be a starting point: https://github.com/pydata/xarray/blob/603b0ad3f8a02a9e1180eb8dfc72f7f885f0e19a/xarray/core/variable.py#L2222 ? but I dont see where `calendar` is coming from.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,360420464
https://github.com/pydata/xarray/issues/2416#issuecomment-598191749,https://api.github.com/repos/pydata/xarray/issues/2416,598191749,MDEyOklzc3VlQ29tbWVudDU5ODE5MTc0OQ==,12237157,2020-03-12T13:41:13Z,2020-03-12T13:41:13Z,CONTRIBUTOR,"such a calendar attribute would be nice. Didnt find a workaround. My goal is to get a `str` for calendar type from `ds`:
Once implemented, this could then be accessed via `ds.time.to_index().calendar`. with some help where to start I would go for this.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,360420464
https://github.com/pydata/xarray/issues/3853#issuecomment-598035966,https://api.github.com/repos/pydata/xarray/issues/3853,598035966,MDEyOklzc3VlQ29tbWVudDU5ODAzNTk2Ng==,12237157,2020-03-12T06:58:55Z,2020-03-12T06:58:55Z,CONTRIBUTOR,This was my workaround. https://github.com/aaronspring/pymistral/issues/19,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,578427969
https://github.com/pydata/xarray/issues/3853#issuecomment-598031406,https://api.github.com/repos/pydata/xarray/issues/3853,598031406,MDEyOklzc3VlQ29tbWVudDU5ODAzMTQwNg==,12237157,2020-03-12T06:41:40Z,2020-03-12T06:41:40Z,CONTRIBUTOR,I would use it with the echam6 and jsbach ‘.codes’ files in MPIESM. ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,578427969
https://github.com/pydata/xarray/issues/3853#issuecomment-597939300,https://api.github.com/repos/pydata/xarray/issues/3853,597939300,MDEyOklzc3VlQ29tbWVudDU5NzkzOTMwMA==,12237157,2020-03-12T00:02:35Z,2020-03-12T00:02:35Z,CONTRIBUTOR,I would love that feature. Also found that pyngl docu but didn’t get it working...,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,578427969
https://github.com/pydata/xarray/pull/3844#issuecomment-596072003,https://api.github.com/repos/pydata/xarray/issues/3844,596072003,MDEyOklzc3VlQ29tbWVudDU5NjA3MjAwMw==,12237157,2020-03-07T10:25:18Z,2020-03-07T10:25:18Z,CONTRIBUTOR,I am unsure whether I added enough tests. only one test that checks for different values with or without skipna.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,577105538
https://github.com/pydata/xarray/issues/422#issuecomment-485444538,https://api.github.com/repos/pydata/xarray/issues/422,485444538,MDEyOklzc3VlQ29tbWVudDQ4NTQ0NDUzOA==,12237157,2019-04-22T15:09:16Z,2019-04-22T15:09:16Z,CONTRIBUTOR,Can the stats functions from https://esmlab.readthedocs.io/en/latest/api.html#statistics-functions be used?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,84127296
https://github.com/pydata/xarray/issues/2900#issuecomment-483738391,https://api.github.com/repos/pydata/xarray/issues/2900,483738391,MDEyOklzc3VlQ29tbWVudDQ4MzczODM5MQ==,12237157,2019-04-16T16:38:47Z,2019-04-16T16:38:47Z,CONTRIBUTOR,thanks @dcherian that was easier than expected. it speeds up a bit but not much. thanks,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,433833707