如何访问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>
按照dl.meteos的建议,我得到了一个关键错误:
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数组解决方案非常简单:
在
xarray.DataArray
上调用.values
。请查看xarray文档以了解DataArray
和Dataset
之间的区别相关问题 更多 >
编程相关推荐