问题标签 [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.
python - xarray:如何将 scipy 函数应用于大型 netcdf 数据集
我有一个包含多个变量的大型 netcdf 文件。我需要沿着一个维度对一个变量进行离散积分,比如形状温度(80,100,300000)和维度(时间、深度、节点)。因此,我尝试使用 xarray 将大型数据集划分为块,然后尝试应用函数 scipy.integrate.simps,但失败了。
请帮助我沿分块变量的第二维应用 simps 函数,然后将块保存到 netcdf 文件中,而不是将整个数据转储到 RAM 中。我想做这样的事情
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”。
python - 用 None 替换 xarray 数据集中的值
我想用 None 替换 xarray 数据集中变量中的值。我尝试了这种方法,但没有奏效:
我收到此错误:*** TypeError: unhashable type: 'numpy.ndarray'
我可以在这里使用像 numpy replace 之类的东西吗?da
是 xarray 数据集。这是da
看起来的样子:
这是 da.var 的样子:
python - 如何使用 dims 标签获取 xarray 数据集的形状
有没有比这更优雅的方法来获取xarray数据集某些维度的形状的元组?
python - 从行向量的迭代器构造一个大的 dask-backed xarray
如何从行向量的迭代器构建 xarray。生成的数组可能比内存大,并且将由 dask 数组支持。行向量还带有唯一标签,这些标签需要成为结果 xarray 的行索引。在文档中,我只看到一个构造函数,它以内存中的 numpy 数组开头。
一个示例用例是将单词嵌入模型存储为 xarray,单词作为行标签。这些模型通常提供一个迭代器,它在词汇表中的所有单词上生成(字符串、向量)对。大多数模型的维度为 100 多个,词汇表中通常有 ~10^6 个单词。我想将向量堆叠成一个矩阵,以便执行线性代数运算,并且还能够通过单词字符串查找行。
我希望能够写出类似的东西:
xarray 是否提供类似的东西xarray_from_iter
?如果不是我该怎么写?
xarray_from_iter
应该像这样工作,numpy.fromiter
除了它还应该标记行。它还需要延迟计算直到调用转储,因为整个问题是该数组大于内存。
python - 删除 xarray 数据集的值并展平 DataArrays
是否可以删除 xarray 数据集中包含的 DataArrays 值,以便在下面的示例代码中xr_dataset
转换为?xr_flat
python - 将广义加法模型应用于 xarray
我有一个用 xarray 读取的 netCDF 文件。该数组包含时间、纬度、经度和只有一个数据变量(即索引值)
到目前为止,一切都很好。现在我需要对数组中的每个网格单元应用一个广义的加法模型。我想使用的模型来自 Facebook Prophet ( https://facebook.github.io/prophet/ ),我之前已经成功地将它应用于 pandas 数据数组。例如:
问题是现在我必须 1) 遍历 netCDF 文件的每个单元格,2) 通过时间获取该单元格的所有值,3) 应用 GAM(使用 fbprophet),然后导出并绘制结果。
问题:您对如何遍历栅格有任何想法,始终获取每个像素的 index_values 以便我可以运行 GAM?我认为嵌套的 for 循环是可行的,尽管我不知道如何制作一个遍历每个单元格的循环。
任何帮助表示赞赏
dask - 将 dask 数组写入 netcdf
我正在尝试将 dask 数组写入 netcdf 文件,但出现内存错误,我觉得这有点奇怪,因为 dask 数组的大小不是太大。大约为 0.04 GB。它的尺寸如下:
我也尝试过重新分块,但这也无济于事。如果您有任何提示,请告诉我。谢谢!
这是我如何生成要写入 netcdf 的 dask 数组。
包含所有输入文件数据的原始 dask 数组的 DATA 维数为:
python - xarray - 无法序列化坐标
我正在尝试使用 xarray 来追加和编写 netCDF 文件。下面是有关原始文件的一些信息。
这是有关附加文件的一些信息(添加了两个变量)。
我正在尝试使用 xarray.to_netcdf() 编写一个新文件,但收到此错误:
有关如何解决此错误的任何想法?
编辑:
数据是通过天气和研究预测模型 (WRF) 生成的。数据通过 open_dataset() 加载,默认为 decode_cf。两个文件的 RAINNC 属性相同,如下所列。
python - 如何找到与一个变量中的最大值相对应的所有变量的最大值?
我有一个包含许多变量的每日数据的 xarray。我想在最大值发生q_routed
的那一天提取每年的最大值和其他变量的相应值。q_routed
下面的命令给了我一年中每个变量的最大值,但这不是我想要的。
审判
我试过这个
这导致了这个错误:
我怎样才能做到这一点?