我需要将每个月的数据乘以相应月份的天数。数据是平均每月降水量,乘以天数将得出累积的降水量。我想用Python的方式来做到这一点(也许是xarray或pandas)。我的代码如下:

#!/usr/bin/env python3.6

import xarray as xr

ncfile = 'https://www.esrl.noaa.gov/psd/thredds/dodsC/' \
         'Datasets/cmap/std/precip.mon.mean.nc'

with xr.open_dataset(ncfile, autoclose=True) as dset:
    lat = dset['lat']
    lon = dset['lon']
    precip = dset['precip']

print(precip)


例如:

来自数据的前三个月是:1979-01-01、1979-02-01、1979-03-01,因此:

print(precip[0:3, 10, 10].values)
[ 0.81   0.76999998  0.70999998]

0.81 * 31
0.76999998 * 28
0.70999998 * 31

最佳答案

您可以使用daysinmonth(或别名days_in_month)属性:

precip_month = precip * precip.time.dt.daysinmonth

10-01 10:47