用python绘制多年的月异常

2024-09-24 00:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组数据集,包含多年的月降水量数据,我想计算1887年到1889年间36个月的异常情况。如何正确执行此操作?你知道吗

我尝试创建两个新的数据集,一个用于平均条件(气候学),另一个用于3年,并对它们执行以下功能。但是,我的数据输出有两个维度:月和日期。你知道吗

数据被赋值为变量'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

Tags: theto数据numberdateslicenanmean