问题标签 [xarray]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
315 浏览

python - xarray:如何将 scipy 函数应用于大型 netcdf 数据集

我有一个包含多个变量的大型 netcdf 文件。我需要沿着一个维度对一个变量进行离散积分,比如形状温度(80,100,300000)和维度(时间、深度、节点)。因此,我尝试使用 xarray 将大型数据集划分为块,然后尝试应用函数 scipy.integrate.simps,但失败了。

请帮助我沿分块变量的第二维应用 simps 函数,然后将块保存到 netcdf 文件中,而不是将整个数据转储到 RAM 中。我想做这样的事情

0 投票
1 回答
2188 浏览

python - 在 xarray 数据数组中重命名 __xarray_dataarray_variable__

我使用 xarray concat 命令创建了一个 xarray 数据数组。这导致了一个带有 name 的数据数组__xarray_dataarray_variable__。但是,我似乎无法使用该rename命令重命名它。有没有其他方法可以重命名它?

我试过这个:

但我收到此错误:*** ValueError: cannot rename '__xarray_dataarray_variable__' because it is not a variable or dimension in this dataset

这是数据数组的样子:

http://xarray.pydata.org/en/stable/generated/xarray.DataArray.to_netcdf.html,只有 xarray.Dataset 对象可以写入 netCDF 文件,所以 xarray.DataArray 被转换为 xarray.Dataset 对象包含单个变量。如果 DataArray 没有名称,或者名称与坐标名称相同,则将其命名为“<strong>xarray_dataarray_variable”。

0 投票
1 回答
10735 浏览

python - 用 None 替换 xarray 数据集中的值

我想用 None 替换 xarray 数据集中变量中的值。我尝试了这种方法,但没有奏效:

我收到此错误:*** TypeError: unhashable type: 'numpy.ndarray'

我可以在这里使用像 numpy replace 之类的东西吗?da是 xarray 数据集。这是da看起来的样子:

这是 da.var 的样子:

0 投票
1 回答
491 浏览

python - 如何使用 dims 标签获取 xarray 数据集的形状

有没有比这更优雅的方法来获取xarray数据集某些维度的形状的元组?

0 投票
1 回答
331 浏览

python - 从行向量的迭代器构造一个大的 dask-backed xarray

如何从行向量的迭代器构建 xarray。生成的数组可能比内存大,并且将由 dask 数组支持。行向量还带有唯一标签,这些标签需要成为结果 xarray 的行索引。在文档中,我只看到一个构造函数,它以内存中的 numpy 数组开头。

一个示例用例是将单词嵌入模型存储为 xarray,单词作为行标签。这些模型通常提供一个迭代器,它在词汇表中的所有单词上生成(字符串、向量)对。大多数模型的维度为 100 多个,词汇表中通常有 ~10^6 个单词。我想将向量堆叠成一个矩阵,以便执行线性代数运算,并且还能够通过单词字符串查找行。

我希望能够写出类似的东西:

xarray 是否提供类似的东西xarray_from_iter?如果不是我该怎么写? xarray_from_iter应该像这样工作,numpy.fromiter 除了它还应该标记行。它还需要延迟计算直到调用转储,因为整个问题是该数组大于内存。

0 投票
1 回答
2030 浏览

python - 删除 xarray 数据集的值并展平 DataArrays

是否可以删除 xarray 数据集中包含的 DataArrays 值,以便在下面的示例代码中xr_dataset转换为?xr_flat

0 投票
0 回答
169 浏览

python - 将广义加法模型应用于 xarray

我有一个用 xarray 读取的 netCDF 文件。该数组包含时间、纬度、经度和只有一个数据变量(即索引值)

到目前为止,一切都很好。现在我需要对数组中的每个网格单元应用一个广义的加法模型。我想使用的模型来自 Facebook Prophet ( https://facebook.github.io/prophet/ ),我之前已经成功地将它应用于 pandas 数据数组。例如:

问题是现在我必须 1) 遍历 netCDF 文件的每个单元格,2) 通过时间获取该单元格的所有值,3) 应用 GAM(使用 fbprophet),然后导出并绘制结果。

问题:您对如何遍历栅格有任何想法,始终获取每个像素的 index_values 以便我可以运行 GAM?我认为嵌套的 for 循环是可行的,尽管我不知道如何制作一个遍历每个单元格的循环。

任何帮助表示赞赏

0 投票
1 回答
1145 浏览

dask - 将 dask 数组写入 netcdf

我正在尝试将 dask 数组写入 netcdf 文件,但出现内存错误,我觉得这有点奇怪,因为 dask 数组的大小不是太大。大约为 0.04 GB。它的尺寸如下:

我也尝试过重新分块,但这也无济于事。如果您有任何提示,请告诉我。谢谢!

这是我如何生成要写入 netcdf 的 dask 数组。

包含所有输入文件数据的原始 dask 数组的 DATA 维数为:

0 投票
2 回答
745 浏览

python - xarray - 无法序列化坐标

我正在尝试使用 xarray 来追加和编写 netCDF 文件。下面是有关原始文件的一些信息。

这是有关附加文件的一些信息(添加了两个变量)。

我正在尝试使用 xarray.to_netcdf() 编写一个新文件,但收到此错误:

有关如何解决此错误的任何想法?

编辑:

数据是通过天气和研究预测模型 (WRF) 生成的。数据通过 open_dataset() 加载,默认为 decode_cf。两个文件的 RAINNC 属性相同,如下所列。

0 投票
1 回答
509 浏览

python - 如何找到与一个变量中的最大值相对应的所有变量的最大值?

我有一个包含许多变量的每日数据的 xarray。我想在最大值发生q_routed的那一天提取每年的最大值和其他变量的相应值。q_routed

下面的命令给了我一年中每个变量的最大值,但这不是我想要的。

审判

我试过这个

这导致了这个错误:

我怎样才能做到这一点?