es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Resumiendo una lista de dataarray de xarray.

Tengo una lista de múltiples dataarrays con el mismo nombre y tamaño en dimensiones. Quiero sumar todos los dataarrays y crear un solo dataarray con las mismas dimensiones de los dataarrays, ¿cuál es la mejor manera de hacerlo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Una forma de hacer esto es convertir la lista de matrices de datos en un conjunto de datos xarray utilizando xarray.Dataset() y luego usar el método .sum() para sumar a lo largo de la dimensión deseada. Aquí tienes un código de ejemplo:

    import xarray as xr
    
    # crear una lista de matrices de datos (da1, da2, da3, ...)
    da1 = ...
    da2 = ...
    da3 = ...
    da_list = [da1, da2, da3, ...]
    
    # convertir la lista en un conjunto de datos xarray
    ds = xr.Dataset({'d{}'.format(i+1): da_list[i] for i in range(len(da_list))})
    
    # sumar a lo largo de la dimensión deseada (por ejemplo, latitud)
    summed_da = ds.sum(dim='latitude')
    

    En este ejemplo, asumimos que las matrices de datos tienen las mismas dimensiones y se llaman d1, d2, d3, etc. Creamos un diccionario de matrices de datos y lo utilizamos para crear un conjunto de datos xarray. Finalmente, usamos el método sum en el objeto de conjunto de datos para sumar todas las matrices de datos a lo largo de la dimensión latitude y obtener una sola matriz de datos con las mismas dimensiones que las matrices de datos de entrada.

Comments are closed.