【发布时间】:2018-04-03 11:32:24
【问题描述】:
考虑以下使用 DataArray 的示例:
In [34]: import xarray as xr
In [35]: da=xr.DataArray(np.random.rand(5,5,5), dims=['x', 'y', 'z'], coords=dict(x=range(5), y=range(5), z=range(5)))
In [36]: da.mean()
Out[36]:
<xarray.DataArray ()>
array(0.547996)
均值运算返回的对象类型实际上是一个没有任何维度的DataArray。但是,有时这很麻烦,我希望 xarray 在那些时候返回一个好的 ol' 浮点数。这可能吗?理想情况下会有类似 `xr.options.return_mode' 或类似的东西(而不是必须在每个函数中使用额外的参数)。
【问题讨论】:
-
da.mean()[0]? -
@StephenRauch,
[0]不能用于 0d 数组,至少不能用于numpy。我假设xarray的行为相同。从 0d 中提取元素需要.item()或[()]索引。 -
@hpaulj
da.mean()[()]仍然返回一个 DataArray,但da.mean().item()有效(很傻,但我没有想到)。如果没有更好的结果,请考虑写一个答案,以便我可以接受。
标签: numpy python-xarray