1

我需要将每个月的数据乘以相应月份的天数。数据为月平均降水量,乘以天数即为累计降水量。我想要一种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
4

1 回答 1

2

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

precip_month = precip * precip.time.dt.daysinmonth
于 2018-03-12T13:30:29.060 回答