Tengo el siguiente DataArray
arr = xr.DataArray([[0.33, 0.25],[0.55, 0.60],[0.85, 0.71],[0.92,0.85],[1.50,0.96],[2.5,1.1]],[('x',[0.25,0.5,0.75,1.0,1.25,1.5]),('y',[1,2])])
Esto da el siguiente resultado
<xarray.DataArray (x: 6, y: 2)>
array([[0.33, 0.25],
[0.55, 0.6 ],
[0.85, 0.71],
[0.92, 0.85],
[1.5 , 0.96],
[2.5 , 1.1 ]])
Coordinates:
* x (x) float64 0.25 0.5 0.75 1.0 1.25 1.5
* y (y) int32 1 2
o ordenados a continuación con x y salida (z) uno al lado del otro para mayor comodidad.
x z (y=1) z(y=2)
0.25 0.33 0.25
0.50 0.55 0.60
0.75 0.85 0.71
1.00 0.92 0.85
1.25 1.50 0.96
1.50 2.50 1.10
Los datos que tengo son el resultado de varios valores de entrada. Uno de ellos es el valor x. Hay varias otras dimensiones (como y) para otros valores de entrada. Quiero saber cuándo mi valor de salida (z) está creciendo a más de 1.00, manteniendo las otras dimensiones fijas y variando el valor de x. En el ejemplo bidimensional anterior, me gustaría obtener la respuesta [1.03 1.32]. Porque un valor de 1.03 para x me dará 1.00 para z cuando y = 1 y un valor de 1.32 para x me dará 1.00 para z cuando y = 2.
editar: Dado que la salida z crecerá con el aumento de x, solo hay un punto donde z tendrá 1.0 como salida.
¿Hay alguna manera eficiente de lograr esto con xarray? Mi tabla actual es mucho más grande y tiene 4 entradas (dimensiones).
¡Gracias por cualquier ayuda!