idxmax()would be very desirable in xarray, but so far no one bothered to implement it.
At the moment, you can find the coordinates of the maximum by combining argmaxand isel:
>>> array = xarray.DataArray(
... [[1, 2, 3], [3, 2, 1]],
... dims=['x', 'y'],
... coords={'x': [1, 2], 'y': ['a', 'b', 'c']})
>>> array
<xarray.DataArray (x: 2, y: 3)>
array([[1, 2, 3],
[3, 2, 1]])
Coordinates:
* x (x) int64 1 2
* y (y) <U1 'a' 'b' 'c'
>>> array.isel(y=array.argmax('y'))
<xarray.DataArray (x: 2)>
array([3, 3])
Coordinates:
* x (x) int64 1 2
y (x) <U1 'c' 'a'
, , , .max() ! , .
, , :
>>> array.argmax() # what??
<xarray.DataArray ()>
array(2)
, , np.argmax. , , - , . - . .