问题标签 [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 回答
614 浏览

python - 两个 xarray DataArrays 的滚动相关系数

我正在尝试计算两个 xarray 数据数组之间的滚动相关性。

假设我的数据集是:

我想计算 a 和 b 之间的滚动系数,以便每个系数的维度是(日期,x)。请注意,存在日期维度是因为滚动是沿日期轴应用的。

我能够以一种丑陋的方式来完成这个充满 for 循环的工作,但我想知道是否有办法通过在滚动数据集对象上应用 reduce 函数来做到这一点。我看不到这样做的方法,但我可能缺少一种完全不同的方法。

这个问题可以通过应用任意函数来概括,该函数将两个数字序列作为输入(在本例中为相关函数。

0 投票
1 回答
749 浏览

python - python xarray 丢失了时间变量的单位属性

我对 xarray 中的时间变量有误解。我有一个 netcdf4 文件,其中时间作为无限维度和一个变量(例如坐标变量)定义如下:

文件中还存储了EPIC约定时间(因为我还在约定测试代码之间来回走动)

还有一个带有仪器标题的变量:

要打开文件并使用它,我这样做:

我可以用数据绘图和做事。不过有两个非常奇怪的行为,对其的解释将帮助我理解 xarray 的内部工作原理。

打开文件后,尝试访问时间变量(坐标时间变量)的单位属性会失败。为什么?属性在文件中。

0 投票
3 回答
3676 浏览

python - Xarray:没有维度的切片坐标

我在这个话题上遇到了困难,即使它看起来应该很简单。

我想使用一组纬度和经度坐标对 xarray 数据集进行切片。

这是我的数据集的样子:

这是我要切片的操作:

一切似乎都很棒:

但我的纬度/经度值不正确:

当然,如果我尝试使用 lats/lons 坐标进行切片,则会出现错误,因为尺寸不匹配。

作为 NARR 数据集,我的理解中有什么遗漏吗?

0 投票
1 回答
591 浏览

python - dask.array.map_blocks() 的“RuntimeError:资源暂时不可用”

我有一个函数sig2z,我想在一个 dask 数组上应用它:

这在 xarray.DataArray 上运行良好,但是当我将它应用于 dask.array 时,出现以下错误:

有人可以告诉我为什么我会收到这个错误吗?先感谢您。

0 投票
1 回答
1298 浏览

python - Matplotlib 使用 matplotlib 中的 FuncAnimation 命令对数据框中的数据进行动画处理

我有以数据帧格式(xarray,类似于 Pandas)保存的数据,我希望用 pcolormesh 对其进行动画处理。

由于某种原因它不起作用(没有错误,但是当我显示 fig 时它没有动画)。

数据的布局方式是 pcolormesh(mytest.TMP_P0_L1_GLL0[0]) 将输出一个四边形, pcolormesh(mytest.TMP_P0_L1_GLL0[1]) 将输出一个略有不同的四边形......等等

谢谢你的帮助!

0 投票
1 回答
183 浏览

python - 什么时候可以使用布尔 DataArray 进行索引?

我正在使用一个对象进行布尔索引。它有效……有时。在下面的示例中,它适用于大数组,但不适用于小数组:xarray DataArray

它应该是可能的吗?为什么它在一种情况下有效,而在另一种情况下无效?

(当然,正确的适应应该是x.values[x.values==-1]。但我对观察到的行为感到非常困惑。)

0 投票
2 回答
449 浏览

python-xarray - 从坐标增加 xarray 的维度

说我有以下二维数组

其值的位置如下

使用xarray我可以创建一个二维标签数组,做

因此,当约翰十几岁的时候,他不喜欢书,如果当时有预算,这是显而易见的

什么随着年龄而改变


我的问题:

您将如何将这个 2dl-array 变成一个 3dl-array,它考虑一个名为的新维度age(其坐标将因此['adult','teen'])同时简化维度的坐标name

请注意,name的坐标始终使用分隔的下划线构成,我的意思是 NAME_AGE。当然,您开始执行此操作的对象是x.

是否有 xarray-builtin 方式来做到这一点?或者至少什么是最快/最便宜的方法?

0 投票
2 回答
586 浏览

python - 将 xarray.apply(np.nansum) 与 args 一起使用

我一直在尝试应用np.nansum到 xr.Dataset (xarray),但不断出现错误。对于 3D 数据集,我尝试应用到 axis=2。语法不是很清楚,我可能误解了文档,但我尝试过:

并得到相同的错误:

无法使用没有明确维度名称的二维数据设置变量“var”。改为传递 (dims, data) 的元组。

我猜这意味着它不知道要返回新数据集对象的维度名称?任何想法如何解决这一问题?

有谁知道 xarray 可能实现的原因和时间np.nansum()?谢谢

0 投票
2 回答
805 浏览

pandas - 添加新项目时如何使用像熊猫面板一样的xarray

我已将 pandas 面板转换为 xarray,但无法像使用 pandas 面板那样轻松地添加新项目、长轴和短轴。代码如下:

例如,如果我想添加一个新项目,我可以:

我在增加 xarray 中的项目、长轴/短轴时遇到困难

0 投票
2 回答
577 浏览

python - 如何使用 groupby 对 xarray 数据集进行下采样?

我想根据特定组对 xarray 数据集进行下采样,因此我groupby用于选择组,然后在每组中抽取 10% 的样本。我正在使用下面的代码,但我得到IndexError: index 1330 is out of bounds for axis 0 with size 1330这表明我的函数正在返回一个空数组,但subset肯定有非零维度。

我正在使用squeeze=True我认为根据GroupBy 文档允许新维度的方法,但这没有帮助,所以我将其更改为squeeze=False.

你知道会发生什么吗?谢谢!

这是错误: