【发布时间】:2017-07-16 16:20:36
【问题描述】:
我正在将 xarray 切割成小的数据立方体,用于机器学习过程,并试图过滤掉其中没有数据值的立方体。
我想保持较小的内存占用,并为无数据值分配了一个不太可能的值 -999。这样做是为了保留 int16 的内容,而不是为 nan 需要更大的类型
问题:检查 xarray.Dataset 中是否存在 -999 的最佳方法是什么?
这是我所拥有的:
(dataset == -999).any()
会成功:
<xarray.Dataset>
Dimensions: ()
Data variables:
var_a bool True
var_b bool True
var_c bool False
之后我可能不得不选择像var_a 这样的东西。我的代码最终看起来像这样:
def is_clean(dataset):
return (dataset == -999).any().var_a is True
也许我对 Xarrays 还是很陌生,但我在文档中找不到更好的方法来做到这一点。我缺少关于 xarrays 的哪些结构知识让我无法接受当前的解决方案?有什么提示吗?
【问题讨论】:
-
return (dataset.var_a == -999).any()? -
感谢您的回复。我的问题是
return (dataset.var_a == -999).any()将返回xr.Dataset而不是布尔值。 -
返回的
xr.Dataset的维度是多少? -
以上部分显示了实际输出。没有维度。只有三个具有布尔值的变量。
-
我指的是我的构造的维度。我没有安装 XArray。