问题标签 [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 - 在 python 中使用 xarray 获取每月气候学
var
我有一个 netCDF 文件,其中包含一个名为2001-01-01 到 2010-12-31的变量的每日数据。我想计算每月总和以var
生成包含 12 个时间步长的 netCDF(一年中的每个月一个)。目前,我正在这样做:
但是,这会导致 netCDF 包含从 2001 年到 2010 年每个月的月度总和。我如何获得 12 个月的月平均值?
python - 使用xarray删除没有坐标的维度
如何N
使用 xarray 从 netCDF 中删除?xarraydrop
命令不起作用
假设 hndl_nc 是 netCDF 文件的句柄,我试过了hndl_nc.drop('N')
python - 何时在 pandas 中使用多索引与 xarray
熊猫数据透视表文档似乎建议使用多索引处理多于两个维度的数据:
我认为 xarray 是为处理这样的多维数据集而设计的:
这些方法中的一种是否比另一种更好?为什么 xarray 没有完全取代多索引?
python - 从 netCDF 中提取位置和跨时间范围的值
是否有与 xarray 函数等效的 netCDF4 来从 netCDF 文件中选择纬度和特定时间范围的值:
我不想使用 cdo 或 nco
python-xarray - 在 Xarray 中的两个数据集之间创建共享索引的最佳方法?
我有一个经纬度的有序列表,我想重新排序网格化气候数据集的索引以与这个有序列表对齐。
我目前DataSet.sel_points()
在 Xarray 中使用。大约需要 13 分钟才能完成。这是此操作应该花费的预期时间吗?
我的 netcdf 文件约为 750M。
有一个更好的方法吗?
python-3.x - xarray 相当于 pandas 减法/加法
我正在寻找一种简洁的方法来对 DataArray 的单个维度进行算术运算,然后将结果作为新的 DataArray(更改和未更改的部分)返回。在 pandas 中,我会使用 df.subtract() 执行此操作,但我还没有找到使用 xarray 执行此操作的方法。
以下是我如何从 pandas 中的 x 维度中减去值 2:
对于 xarray 虽然我不知道:
python - 获取 xarray 数据集中的键列表
我正在向 xarray 数据集添加变量,完成后,我想提取一个键列表,但我找不到这样做的方法。
我想要的结果是
numpy - xarray 或 dask 真的支持内存映射吗?
到目前为止,在我的实验中,我尝试过:
xr.open_dataset
使用chunks
arg,它将数据加载到内存中。- 设置一个
NetCDF4DataStore
, 并调用ds['field'].values
,它将数据加载到内存中。 - 设置一个
ScipyDataStore
withmmap='r'
,并将ds['field'].values
数据加载到内存中。
从我所见,设计似乎不是围绕在内存映射数组上实际应用 numpy 函数,而是将小块加载到内存中(有时使用内存映射来这样做)。例如,这条评论。这里还有一些相关的评论,关于 not xarray 无法确定一个 numpy 数组是否被映射。
我希望能够将数据表示和切片为xarray.Dataset
,并能够调用.values
(或.data
)来获取ndarray
,但让它保持映射(出于共享内存等目的)。
如果分块的 dask 操作至少可以在内存映射数组上操作,直到它真正需要改变某些东西,这也很好,这似乎是可能的,因为 dask 似乎是围绕不可变数组设计的。
不过,我确实发现了一个使用 xarray 的技巧,就是这样做的:
在这一点上,类似以下的工作无需将任何内容加载到内存中:
...xarray 显然不知道该数组已映射,并且不能np.copy
为此类情况强加 a 。
是否有“支持”的方式在 xarray 或 dask 中进行只读内存映射(或就此而言的复制写入)?
python - 使用库 xarray(python)进行 groupby 后错误的时间维度
我的问题是我想在 python 中使用 xarray-library 的简单功能,但是在聚合数据的情况下我遇到了时间维度的问题。
我打开了一个数据集,其中包含 2013 年的每日数据:
datset=xr.open_dataset(filein)
.
该文件的内容是:
当我现在使用 groupby 方法计算每月平均值时,时间维度被破坏:
现在我有一个值从 1 到 12 的月份维度而不是时间维度。这是“平均”函数的副作用吗?只要我不使用这个均值函数,时间变量就会被保留。
我做错了什么?文档和这个论坛中给出的例子似乎有不同的行为。在那里,除了使用每个月的第一个日期外,会保留时间戳。
我可以重塑我的旧时代维度吗?如果我想要时间戳指示月中,'time_bounds' 指示每个平均值的间隔,即月初,月底。
谢谢你的帮助,罗尼
python - 使用 xarray 添加和使用附加坐标
我正在学习如何使用 pythonxarray
包,但是,我在处理多维数据时遇到了麻烦。具体来说,如何添加和使用附加坐标?
这是一个例子。
我的xarray
数据集如下所示:
我可以使用基于站点代码的 sel 方法来选择系列。例如:
但是如何根据其他坐标(即纬度或经度)选择数据?