Проблема с xarray.Dataset.weighted (...) - PullRequest
1 голос
/ 25 мая 2020
• 1000 Наборы данных, которые я использую, содержат от одной до четырех переменных.

В этом случае в моем наборе данных только один, «sf», обозначающий снегопад. Координаты долгота, широта, время. Вот набор данных, когда я его распечатываю:

<xarray.Dataset>
Dimensions:    (latitude: 121, longitude: 241, time: 14245)
Coordinates:  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... 60.5 60.25 60.0
  * longitude  (longitude) float32 70.0 70.25 70.5 70.75 ... 129.5 29.75 130.0
  * time       (time) datetime64[ns] 1980-01-01 1980-01-02 ... 2018-12-31
Data variables:
    sf         (time, latitude, longitude) float32 dask.array<chunksize=(366, 121, 241), meta=np.ndarray>
Attributes:
    history:  Thu May 21 16:12:13 2020: ncks -d latitude,60.,90. -d longitude...
    NCO:      netCDF Operators version 4.7.5 (Homepage = http://nco.sf.net, C...

Используя документацию xarray и этот пример http://xarray.pydata.org/en/stable/examples/area_weighted_temperature.html, я в основном переписал код в «создание весов» и «взвешенное среднее» с соответствующими заменами для моих данных.

snow_data = xr.open_mfdataset(SOURCE_DIR+'*'+REGION_CODE+'*.nc', combine='by_coords')
weights = np.cos(np.deg2rad(snow_data.latitude))
weights.name = 'weights'

snow_data_weighted = snow_data.weighted(weights)
snow_data_mean = snow_data_weighted.mean(('longitude','latitude')) 

Однако я получаю следующее сообщение об ошибке:

AttributeError: объект 'Dataset' не имеет атрибута 'weighted'

Я не понимаю, что может пойти не так, учитывая, что это должно было пройти гладко из примера, но, возможно, есть что-то, чего я не знаю о том, как это работает. Я думаю, что добавление xarray.Dataset.weighted () относительно новое, но с тех пор я обновил xarray. Не уверен, какая еще информация мне может понадобиться, чтобы помочь.

Любые предложения приветствуются - и это мой первый пост, поэтому, если я сделал что-то не так, я буду рад исправить!

1 Ответ

0 голосов
/ 26 мая 2020

Листинг пакетов в новой среде, в которой это сейчас работает хорошо, дает следующее. Один из них, должно быть, раньше отсутствовал.

# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: linux-64
_libgcc_mutex=0.1=main
blas=1.0=mkl
bokeh=2.0.2=py37_0
bzip2=1.0.8=h7b6447c_0
ca-certificates=2020.1.1=0
cartopy=0.17.0=py37hbb7e04d_1
certifi=2020.4.5.1=py37_0
cffi=1.14.0=py37he30daa8_1
cftime=1.1.2=py37heb32a55_0
chardet=3.0.4=py37_1003
click=7.1.2=py_0
cloudpickle=1.4.1=py_0
cryptography=2.9.2=py37h1ba5d50_0
curl=7.69.1=hbc83047_0
cycler=0.10.0=py37_0
cytoolz=0.10.1=py37h7b6447c_0
dask=2.16.0=py_0
dask-core=2.16.0=py_0
dbus=1.13.14=hb2f20db_0
distributed=2.16.0=py37_0
expat=2.2.6=he6710b0_0
fontconfig=2.13.0=h9420a91_0
freetype=2.9.1=h8a8886c_1
fsspec=0.7.1=py_0
geos=3.7.1=he6710b0_0
glib=2.63.1=h3eb4bd4_1
gst-plugins-base=1.14.0=hbbd80ab_1
gstreamer=1.14.0=hb31296c_0
hdf4=4.2.13=h3ca952b_2
hdf5=1.10.4=hb1b8bf9_0
heapdict=1.0.1=py_0
icu=58.2=he6710b0_3
idna=2.9=py_1
intel-openmp=2020.1=217
jinja2=2.11.2=py_0
jpeg=9b=h024ee3a_2
kiwisolver=1.2.0=py37hfd86e86_0
krb5=1.17.1=h173b8e3_0
ld_impl_linux-64=2.33.1=h53a641e_7
libcurl=7.69.1=h20c2e04_0
libedit=3.1.20181209=hc058e9b_0
libffi=3.3=he6710b0_1
libgcc-ng=9.1.0=hdf63c60_0
libgfortran-ng=7.3.0=hdf63c60_0
libnetcdf=4.7.3=hb80b6cc_0
libpng=1.6.37=hbc83047_0
libssh2=1.9.0=h1ba5d50_1
libstdcxx-ng=9.1.0=hdf63c60_0
libtiff=4.1.0=h2733197_0
libuuid=1.0.3=h1bed415_2
libxcb=1.13=h1bed415_1
libxml2=2.9.9=hea5a465_1
libxslt=1.1.33=h7d1a2b0_0
locket=0.2.0=py37_1
lxml=4.5.0=py37hefd8a0e_0
markupsafe=1.1.1=py37h7b6447c_0
matplotlib=3.1.3=py37_0
matplotlib-base=3.1.3=py37hef1b27d_0
mkl=2020.1=217
mkl-service=2.3.0=py37he904b0f_0
mkl_fft=1.0.15=py37ha843d7b_0
mkl_random=1.1.0=py37hd6b4f25_0
msgpack-python=1.0.0=py37hfd86e86_1
ncurses=6.2=he6710b0_1
netcdf4=1.5.3=py37hbf33ddf_0
numpy=1.18.1=py37h4f9e942_0
numpy-base=1.18.1=py37hde5b4d6_1
olefile=0.46=py37_0
openssl=1.1.1g=h7b6447c_0
owslib=0.18.0=py_0
packaging=20.3=py_0
pandas=1.0.3=py37h0573a6f_0
partd=1.1.0=py_0
pcre=8.43=he6710b0_0
pillow=7.1.2=py37hb39fc2d_0
pip=20.0.2=py37_3
proj4=5.2.0=he6710b0_1
psutil=5.7.0=py37h7b6447c_0
pycparser=2.20=py_0
pyepsg=0.4.0=py37_0
pykdtree=1.3.1=py37hdd07704_2
pyopenssl=19.1.0=py37_0
pyparsing=2.4.7=py_0
pyproj=1.9.6=py37h14380d9_0
pyqt=5.9.2=py37h05f1152_2
pyshp=2.1.0=py_0
pysocks=1.7.1=py37_0
python=3.7.7=hcff3b4d_5
python-dateutil=2.8.1=py_0
pytz=2020.1=py_0
pyyaml=5.3.1=py37h7b6447c_0
qt=5.9.7=h5867ecd_1
readline=8.0=h7b6447c_0
requests=2.23.0=py37_0
scipy=1.4.1=py37h0b6359f_0
setuptools=46.4.0=py37_0
shapely=1.6.4=py37h86c5351_0
sip=4.19.8=py37hf484d3e_0
six=1.14.0=py37_0
sortedcontainers=2.1.0=py37_0
sqlite=3.31.1=h62c20be_1
tblib=1.6.0=py_0
tk=8.6.8=hbc83047_0
toolz=0.10.0=py_0
tornado=6.0.4=py37h7b6447c_1
typing_extensions=3.7.4.1=py37_0
urllib3=1.25.8=py37_0
wheel=0.34.2=py37_0
xarray=0.15.1=py_0
xz=5.2.5=h7b6447c_0
yaml=0.1.7=had09818_2
zict=2.0.0=py_0
zlib=1.2.11=h7b6447c_3
zstd=1.3.7=h0b5b093_0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...