我有一个数组数据集,其中包含多年的月降水量数据,我想计算1887年至1889年之间36个月的异常。我该如何正确执行呢?
我尝试创建两个新的数据集,一个用于平均条件(气候),另一个用于三年,并对它们执行以下功能。但是,我的数据输出同时包含月份和日期。
为数据分配了变量“ precip”,如下所示:
<xarray.DataArray 'precipitation' (date: 1920, station_number: 42)>
array([[ nan, nan, nan, ..., nan, nan, nan],
[ nan, nan, nan, ..., nan, nan, nan],
[ nan, nan, nan, ..., nan, nan, nan],
...,
[ nan, nan, nan, ..., nan, nan, 41.2],
[ nan, nan, nan, ..., nan, nan, 44. ],
[ nan, nan, nan, ..., nan, nan, 30.2]])
Coordinates:
* date (date) datetime64[ns] 1850-01-01 1850-02-01 ... 2009-12-01
* station_number (station_number) object '018070' '019036' ... '095003'
#Anomaly calculation
climatology=precip.sel(date=slice('1888','1965')).groupby('date.month').mean(dim='date')
the_years=precip.sel(date=slice('1887','1889'))
percentage_anomaly=((the_years-climatology)/climatology)*100
#convert to dataframe
ppercentage.mean('station_number').to_dataframe()
我希望输出是具有日期和位置尺寸的新数据集。 输出是具有日期,位置和月份尺寸的数据集。
例如:
date month anomaly
1887-01-01 1 10
2 20
3 30
4 40
5 50
6 60
7 70
8 80
9 90
10 100
11 110
12 120