如何解决如何在Python中访问xarray.Dataset的绑定方法mapping.values的数据变量值
如何访问xarray.Dataset的绑定方法mapping.values的数据变量值,正确的语法是什么:
我需要检索 pm2p5_conc 数据变量:
pmScatter["pm25"].values
array([<bound method Mapping.values of <xarray.Dataset>
Dimensions: ()
Coordinates:
level float32 0.0
time timedelta64[ns] 00:00:00
longitude float64 2.352
latitude float64 48.86
Data variables:
pm2p5_conc float64 26.23
Attributes:
title: PM25 Air Pollutant FORECAST at 8 levels
institution: Data produced by Meteo France
source: Data from ENSEMBLE model
history: Model ENSEMBLE FORECAST
FORECAST: Europe,20210325-20210327+[0H_0H]
summary: ENSEMBLE model hourly FORECAST of PM25 concentration at 8 l...
project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)>,<bound method Mapping.values of <xarray.Dataset>
def normalize(x):
return 0.5 + (x - x.min()) / (x.max() - x.min())
risk = normalize(pmScatter["pm25"]["pm2p5_conc"].values)* pop.pop_2010[::resolution].values * normalize(covidExtra.hosp[::resolution].values) gives me the following error:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-14-47c4a255de66> in <module>
----> 1 risk = normalize(pmScatter["pm25"]["pm2p5_conc"].values)* pop.pop_2010[::resolution].values * normalize(covidExtra.hosp[::resolution].values)
2 risk = np.vstack((x,y,risk)).T
3 risk = pd.DataFrame(risk,columns=['lon','lat','risk'])
4
~/.pyenv/versions/lewagon/lib/python3.8/site-packages/pandas/core/series.py in __getitem__(self,key)
851
852 elif key_is_scalar:
--> 853 return self._get_value(key)
854
855 if is_hashable(key):
~/.pyenv/versions/lewagon/lib/python3.8/site-packages/pandas/core/series.py in _get_value(self,label,takeable)
959
960 # Similar to Index.get_value,but we do not fall back to positional
--> 961 loc = self.index.get_loc(label)
962 return self.index._get_values_for_loc(self,loc,label)
963
~/.pyenv/versions/lewagon/lib/python3.8/site-packages/pandas/core/indexes/range.py in get_loc(self,key,method,tolerance)
352 except ValueError as err:
353 raise KeyError(key) from err
--> 354 raise KeyError(key)
355 return super().get_loc(key,method=method,tolerance=tolerance)
356
KeyError: 'pm2p5_conc'
解决方法
您正在使用 values 方法访问 xarray.Dataset
,该方法产生类型转换恢复 numpy 数组。
解决方案很简单:
pmScatter["pm25"]["pm2p5_conc"].values
在 .values
上调用 xarray.DataArray
。请查看 xarray 文档以了解 DataArray
和 Dataset
之间的区别。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。