Eu tenho o seguinte 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])])
Isso fornece a seguinte saída
<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
ou classificados abaixo com xe saída (z) um ao lado do outro por conveniência.
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
Os dados que tenho são o resultado de vários valores de entrada. Um deles é o valor x. Existem várias outras dimensões (como y) para outros valores de entrada. Quero saber quando meu valor de saída (z) está crescendo acima de 1,00, mantendo as outras dimensões fixas e variando o valor x. No exemplo bidimensional acima, eu gostaria de obter a resposta [1.03 1.32]. Como um valor de 1,03 para x me dará 1,00 para z quando y = 1 e um valor de 1,32 para x me dará 1,00 para z quando y = 2.
edit: Como a saída z aumentará com o aumento de x, existe apenas um ponto em que z terá 1,0 como saída.
Existe alguma maneira eficiente de conseguir isso com o xarray? Minha tabela atual é muito maior e possui 4 entradas (dimensões).
Obrigado por qualquer ajuda!