Open
Description
What is your issue?
I am working with xarray.core.rolling.DataArrayRolling
objects and for some obscure reason, they raise the following error when the .argmin()
and .argmax()
methods are used:
window_size = {name: n for name in ['lat', 'lon']}
window = data_nc.rolling(window_size, center=True)
peak_min = window.argmin()
peak_max = window.argmax()
Traceback (most recent call last):
Input In [48] in <cell line: 3>
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\rolling.py:122 in method
return self._numpy_or_bottleneck_reduce(
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\rolling.py:541 in _numpy_or_bottleneck_reduce
return self.reduce(array_agg_func, keep_attrs=keep_attrs, **kwargs)
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\rolling.py:428 in reduce
result = windows.reduce(
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\dataarray.py:2696 in reduce
var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs)
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\variable.py:1804 in reduce
data = func(self.data, axis=axis, **kwargs)
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\duck_array_ops.py:335 in f
return func(values, axis=axis, **kwargs)
File <__array_function__ internals>:180 in argmax
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\numpy\core\fromnumeric.py:1216 in argmax
return _wrapfunc(a, 'argmax', axis=axis, out=out, **kwds)
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\numpy\core\fromnumeric.py:66 in _wrapfunc
return _wrapit(obj, method, *args, **kwds)
File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\numpy\core\fromnumeric.py:43 in _wrapit
result = getattr(asarray(obj), method)(*args, **kwds)
TypeError: 'tuple' object cannot be interpreted as an integer
As far as I understand, these methods are included based on the xarray
documentation, so it should work as .min()
, .max()
or .mean()
are working fine:
https://docs.xarray.dev/en/stable/generated/xarray.core.rolling.DataArrayRolling.argmax.html
Any insight on what I am doing wrong ?