发布
社区首页 >问答首页 >xarray:从月平均(而不是气候学)计算日异常。

xarray:从月平均(而不是气候学)计算日异常。
EN

Stack Overflow用户
提问于 2018-04-01 16:28:04
回答 1查看 1.1K关注 0票数 3

xarray的文档解释了如何计算每月的气候学异常。在这里,我尝试做一些稍微不同的事情:从每日时间序列,我想计算这个月的平均(而不是从每月的气候学)的每日异常。

我使用groupby成功地完成了这个任务,并且手工创建了一个月邮票(代码如下)。是否有更好、更少麻烦的方法来获得同样的结果?

代码语言:javascript
代码运行次数:0
复制
import xarray as xr
import numpy as np
import pandas as pd

# Create a data array
t = pd.date_range('2001', '2003', freq='D')
da = xr.DataArray(np.arange(len(t)), coords={'time':t}, dims='time')

# Monthly time stamp for groupby
da.coords['stamp'] = ('time', [str(y) + '-' + str(m) for (y, m) in 
                               zip(da['time.year'].values, 
                                   da['time.month'].values)])

# Anomaly
da_ano = da.groupby('stamp') - da.groupby('stamp').mean()

da_ano.plot();

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-02 18:46:37

您可以显式地将每个月的时间序列表示为每日时间序列。示例:

代码语言:javascript
代码运行次数:0
复制
monthly = da.resample(time='1MS').mean()
upsampled_monthly = monthly.resample(time='1D').ffill()
anomalies = da - upsampled_monthly
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49600180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档