问题标签 [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 投票
2 回答
2841 浏览

python - 在 python 中使用 xarray 获取每月气候学

var我有一个 netCDF 文件,其中包含一个名为2001-01-01 到 2010-12-31的变量的每日数据。我想计算每月总和以var生成包含 12 个时间步长的 netCDF(一年中的每个月一个)。目前,我正在这样做:

但是,这会导致 netCDF 包含从 2001 年到 2010 年每个月的月度总和。我如何获得 12 个月的月平均值?

0 投票
1 回答
1525 浏览

python - 使用xarray删除没有坐标的维度

如何N使用 xarray 从 netCDF 中删除?xarraydrop命令不起作用

假设 hndl_nc 是 netCDF 文件的句柄,我试过了hndl_nc.drop('N')

0 投票
1 回答
5524 浏览

python - 何时在 pandas 中使用多索引与 xarray

熊猫数据透视表文档似乎建议使用多索引处理多于两个维度的数据:

我认为 xarray 是为处理这样​​的多维数据集而设计的:

这些方法中的一种是否比另一种更好?为什么 xarray 没有完全取代多索引?

0 投票
1 回答
751 浏览

python - 从 netCDF 中提取位置和跨时间范围的值

是否有与 xarray 函数等效的 netCDF4 来从 netCDF 文件中选择纬度和特定时间范围的值:

我不想使用 cdo 或 nco

0 投票
0 回答
71 浏览

python-xarray - 在 Xarray 中的两个数据集之间创建共享索引的最佳方法?

我有一个经纬度的有序列表,我想重新排序网格化气候数据集的索引以与这个有序列表对齐。

我目前DataSet.sel_points()在 Xarray 中使用。大约需要 13 分钟才能完成。这是此操作应该花费的预期时间吗?

我的 netcdf 文件约为 750M。

有一个更好的方法吗?

0 投票
2 回答
2368 浏览

python-3.x - xarray 相当于 pandas 减法/加法

我正在寻找一种简洁的方法来对 DataArray 的单个维度进行算术运算,然后将结果作为新的 DataArray(更改和未更改的部分)返回。在 pandas 中,我会使用 df.subtract() 执行此操作,但我还没有找到使用 xarray 执行此操作的方法。

以下是我如何从 pandas 中的 x 维度中减去值 2:

对于 xarray 虽然我不知道:

0 投票
2 回答
5512 浏览

python - 获取 xarray 数据集中的键列表

我正在向 xarray 数据集添加变量,完成后,我想提取一个键列表,但我找不到这样做的方法。

我想要的结果是

0 投票
1 回答
1717 浏览

numpy - xarray 或 dask 真的支持内存映射吗?

到目前为止,在我的实验中,我尝试过:

  • xr.open_dataset使用chunksarg,它将数据加载到内存中。
  • 设置一个NetCDF4DataStore, 并调用ds['field'].values,它将数据加载到内存中。
  • 设置一个ScipyDataStorewith mmap='r',并将ds['field'].values数据加载到内存中。

从我所见,设计似乎不是围绕在内存映射数组上实际应用 numpy 函数,而是将小块加载到内存中(有时使用内存映射来这样做)。例如,这条评论这里还有一些相关的评论,关于 not xarray 无法确定一个 numpy 数组是否被映射。

我希望能够将数据表示和切片为xarray.Dataset,并能够调用.values(或.data)来获取ndarray,但让它保持映射(出于共享内存等目的)。

如果分块的 dask 操作至少可以在内存映射数组上操作,直到它真正需要改变某些东西,这也很好,这似乎是可能的,因为 dask 似乎是围绕不可变数组设计的。

不过,我确实发现了一个使用 xarray 的技巧,就是这样做的:

在这一点上,类似以下的工作无需将任何内容加载到内存中:

...xarray 显然不知道该数组已映射,并且不能np.copy为此类情况强加 a 。

是否有“支持”的方式在 xarray 或 dask 中进行只读内存映射(或就此而言的复制写入)?

0 投票
1 回答
338 浏览

python - 使用库 xarray(python)进行 groupby 后错误的时间维度

我的问题是我想在 python 中使用 xarray-library 的简单功能,但是在聚合数据的情况下我遇到了时间维度的问题。

我打开了一个数据集,其中包含 2013 年的每日数据: datset=xr.open_dataset(filein).

该文件的内容是:

当我现在使用 groupby 方法计算每月平均值时,时间维度被破坏:

现在我有一个值从 1 到 12 的月份维度而不是时间维度。这是“平均”函数的副作用吗?只要我不使用这个均值函数,时间变量就会被保留。

我做错了什么?文档和这个论坛中给出的例子似乎有不同的行为。在那里,除了使用每个月的第一个日期外,会保留时间戳。

我可以重塑我的旧时代维度吗?如果我想要时间戳指示月中,'time_bounds' 指示每个平均值的间隔,即月初,月底。

谢谢你的帮助,罗尼

0 投票
2 回答
2229 浏览

python - 使用 xarray 添加和使用附加坐标

我正在学习如何使用 pythonxarray包,但是,我在处理多维数据时遇到了麻烦。具体来说,如何添加和使用附加坐标?

这是一个例子。

我的xarray数据集如下所示:

我可以使用基于站点代码的 sel 方法来选择系列。例如:

但是如何根据其他坐标(即纬度或经度)选择数据?