月份乘以天数怎么算

How multiply month by the number of days

我需要将每个月的数据乘以相应月份的天数。数据为月平均降水量,乘以天数就是累计降水量。我想要一个 pythonic 的方式来做到这一点(可能是 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