issue_comments: 747376047
This data as json
| 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/2007#issuecomment-747376047 | https://api.github.com/repos/pydata/xarray/issues/2007 | 747376047 | MDEyOklzc3VlQ29tbWVudDc0NzM3NjA0Nw== | 10194086 | 2020-12-17T11:14:33Z | 2020-12-17T16:02:25Z | MEMBER | I just need to find the three warmest consecutive months from a temperature dataset for my work, so I thought I add a complete example. First, create an example dataset with monthly temperature: ```python import xarray as xr import numpy as np import pandas as pd time = pd.date_range("2000", periods=12 * 30, freq="M") temp = np.sin((time.month - 5) / 6 * np.pi) + np.random.randn(*time.shape) * 0.3 da = xr.DataArray(temp, dims=["time"], coords=dict(time=time)) print(da) ```
Currently we can achieve this like: ```python n_months = 3 monthly = da.groupby("time.month").mean() padded = monthly.pad(month=n_months, mode="wrap") rolled = padded.rolling(center=True, month=n_months).mean(skipna=False) sliced = rolled.isel(month=slice(3, -3)) central_month = sliced.idxmax() ``` Implementing ```python monthly = da.groupby("time.month").mean() rolled = monthly.rolling(center=True, month=n_months, pad_mode="wrap").mean(skipna=False) central_month = rolled.idxmax() ``` |
{
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
} |
307783090 |