Seleccionando el arreglo con el promedio más alto.
Con xarray, puedo definir una matriz tridimensional:
array = xr.DataArray(
[[[3, 2, 1], [3, 1, 2], [2, 1, 3]], [[1, 3, 2], [2, 5, 1], [2, 3, 1]]],
dims=(“x”, “y”, “z”))array
<xarray.DataArray (x: 2, y: 3, z: 3)>
array([[[3, 2, 1],
[3, 1, 2],
[2, 1, 3]],
[[1, 3, 2],
[2, 5, 1],
[2, 3, 1]]])
Dimensions without coordinates: x, y, z
De esta matriz tridimensional, quiero seleccionar la capa de matriz bidimensional con la media más alta de valores.
Intenté esto:
max_layer = array.max(dim=’x’)
Esto no funciona. Python crea una nueva matriz bidimensional con los valores más altos a lo largo del eje x en lugar de hacer lo que quiero.
max_layer
<xarray.DataArray (y: 3, z: 3)>
array([[3, 3, 2],
[3, 5, 2],
[2, 3, 3]])
Dimensions without coordinates: y, z
¿Cómo puedo resolver este problema?
davy.ai
Se puede usar el método
mean()
para calcular la media de los valores en el arreglo 3D, y luego usar el métodoargmax()
para obtener el índice de la capa del arreglo 2D con mayor media.Por ejemplo:
Esto devolverá el índice de la capa del arreglo 2D con mayor media.
Luego, se puede usar el método
isel()
para seleccionar la capa del arreglo 2D con mayor media: