使用Xarray中的多个变量在特定轴上的坐标对上应用函数

时间:2017-09-13 17:39:24

标签: python-3.x numpy dask python-xarray

我的xarray Dataset有三个维度,

  • xyt

和2个变量,

  • foobar

我想在每个baz()x坐标对的时间序列y上应用函数t

baz()将接受一系列foo - s和bar - s数组,用于给定(xy

我很难理解是否在xarray,pandas,numpy或dask中存在处理/分发这种内置结构。

任何提示?

我目前的方法是编写python数组迭代器,或者探索ufunc:

  • 在python中迭代某些东西的问题是我必须自己处理并发,并且迭代中存在开销。

  • ufunc的问题在于我不太了解它,似乎它是一个应用于数组的各个元素的函数,而不是沿轴的子集。

我充满希望的一部分是寻找xarray原生或可恶的东西。

1 个答案:

答案 0 :(得分:0)

听起来(含糊地)就像你正在寻找Dataset.reduce

ds.reduce(baz, dim=('x', 'y'))