Eres un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. Reemplaza todos los datos en DataArray.
Cuál es la mejor práctica para cambiar solo los datos en un DataArray?
¿Es tan simple como asignar al atributo “data”? No veo un método adecuado para hacer esto en la documentación.
import xarray as xr
import numpy as np
import pandas as pd
Ejemplo en DataArray
rng = np.random.default_rng(123)
temperature = 15 + 8 * rng.standard_normal((2, 2, 3))
lon = [[-99.83, -99.32], [-99.79, -99.23]]
lat = [[42.25, 42.21], [42.63, 42.59]]
time = pd.date_range("2014-09-06", periods=3)
reference_time = pd.Timestamp("2014-09-05")
da = xr.DataArray(data=temperature,
dims=["x", "y", "time"],
coords=dict(lon=(["x", "y"], lon),
lat=(["x", "y"], lat),
time=time,
reference_time=reference_time),
attrs=dict(description="Temperatura ambiente.",
units="degC"))
Nuevos datos
temperature_new = 20 + rng.standard_normal((2, 2, 3))
La siguiente parece ser un mecanismo muy frágil
da.data = temperature_new
davy.ai
Según la documentación de xarray, asignar directamente al atributo
data
es la forma recomendada de cambiar solo los datos en un DataArray. Es importante tener en cuenta que al hacerlo se descartan todos los metadatos, información de coordenadas y otros atributos asociados a los datos originales. Por lo tanto, se recomienda que mantenga una copia del DataArray original y realice cambios en esta copia en lugar del original.En el ejemplo de código proporcionado, la mejor práctica sería crear una copia del DataArray original y luego asignar los nuevos datos a su atributo
data
:De esta manera, el DataArray original seguirá estando disponible en caso de que se necesite, y el nuevo DataArray tendrá los mismos metadatos, información de coordenadas y atributos que el original.