По фрагменту кода сложно сказать, что вы там делаете не так. Вы можете прочитать о , как создать минимальный воспроизводимый пример здесь . Я попытался воспроизвести вашу проблему с помощью примера ниже, который демонстрирует, что значения должны измениться. Вы также можете избежать цикла для каждого значения, поскольку xarray
может broadcast
ваши вычисления в каждой точке сетки, что намного быстрее, чем использование циклов for.
data = xr.DataArray(np.random.randn(2, 3), dims=("x", "y"), coords={"x": [10, 20]})
>>data
<xarray.DataArray (x: 2, y: 3)>
array([[ 0.27623202, -1.08740069, -0.67368971],
[ 0.11364841, -1.47842655, 0.52498767]])
Coordinates:
* x (x) int64 10 20
Dimensions without coordinates: y
y_intercept = (2*(raw_no2[x][y]))/100
slope = -y_intercept/100
raw_no2[x][y] = slope*10 + y_intercept
y_intercept = 2*data/100
slope = - y_intercept/100
data= slope*10 + y_intercept
>>data
<xarray.DataArray (x: 2y: 3)>
array([[-0.01121879, 0.02355238, -0.01290332],
[ 0.01947954, 0.00112604, -0.02490705]])
Coordinates:
* x (x) int64 10 20