Tôi có một DataArray sau đây
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])])
Điều này cho đầu ra sau
<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
hoặc sắp xếp bên dưới với x và đầu ra (z) cạnh nhau để thuận tiện.
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
Dữ liệu tôi có là kết quả của một số giá trị đầu vào. Một trong số đó là giá trị x. Có một số kích thước khác (như y) cho các giá trị đầu vào khác. Tôi muốn biết khi nào giá trị đầu ra (z) của tôi tăng lên hơn 1,00, giữ cho các kích thước khác cố định và thay đổi giá trị x. Trong ví dụ 2 chiều ở trên, tôi muốn nhận được câu trả lời [1.03 1.32]. Bởi vì giá trị 1,03 cho x sẽ cho tôi 1,00 cho z khi y = 1 và giá trị 1,32 cho x sẽ cho tôi 1,00 cho z khi y = 2.
chỉnh sửa: Vì đầu ra z sẽ tăng khi tăng x, nên chỉ có một điểm mà z sẽ có 1.0 là đầu ra.
Có cách nào hiệu quả để đạt được điều này với xarray không? Bảng thực tế của tôi lớn hơn nhiều và có 4 đầu vào (kích thước).
Cảm ơn bạn đã giúp đỡ!