xarray (anteriormente xray) es una biblioteca de código abierto que proporciona un rango de estructuras de datos N-dimensionales.

Más sobre python-xarray...

Tengo un xarray como este: import xarray as xr da1 = xr.DataArray([[0, 1, 5, 5], [1, 2, 2, 0], [9, 3, 2, 0]], dims=['x', 'y']) da2 = xr.DataArray([[0, 2, 9, 3], [0, 0, 7, 0], [0, 2, 6, 0]], dims=['x', 'y']) da3 = xr.DataArray([[0, 7, 2, 0], [7, 2, 6, 0], [0, 6, 1, 0]], dims=['x', 'y']) combined = ....
10 ene. 2022 a las 13:25
Estoy escribiendo un programa que abrirá datos Meteorológicos NetCDF, los dividirá para una región determinada y luego hará algunos cálculos, por ejemplo: data =xr.open_dataset(SomeFile) SlicedData = data.sel(lat=slice(max_lat,min_lat), lon=slice(min_lon,max_lon)) ExampleResult = Sl....
7 ene. 2022 a las 22:53
¿Cuál es la mejor práctica para cambiar solo los datos en un DataArray? ¿Es tan simple como asignar el 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 # Example in DataArray rng = np.random.default_rng(123) te....
6 ene. 2022 a las 03:03
Estoy tratando de acceder a los datos en un archivo GRIB2 en una longitud y latitud específicas. He estado siguiendo este tutorial (https://www.youtube.com/watch?v = yLoudFv3hAY) aproximadamente 2:52 pero mi archivo GRIB tiene un formato diferente al del ejemplo y usa diferentes variables import x....
4 ene. 2022 a las 07:13
Tengo un archivo GRIB de 17 GB que contiene la temperatura (t2m) para cada hora del año 2020. Las dimensiones del conjunto de datos son longitude, latitude y time. Mi objetivo es calcular la temperatura más alta para cada coordenada (lon, lat) en los datos de todo el año. Puedo cargar el archivo bi....
3 ene. 2022 a las 01:28
Esta pregunta está relacionada, pero de alguna manera todavía necesito ayuda para que esto funcione. xarray seleccione la latitud / longitud más cercana con coordenadas multidimensionales import rioxarray import numpy as np import geopandas as gpd import cartopy.crs as ccrs # download and read e....
28 dic. 2021 a las 17:13
Estoy tratando de paralelizar una operación que genera una matriz numérica muy grande y generalmente explota la memoria de una máquina que la está ejecutando. Lo que se me ocurrió es el siguiente flujo de trabajo: Utilice Dask para generar una matriz llena de cero perezoso Use X-Array para generar u....
22 dic. 2021 a las 19:38
Estoy trazando algunas series de tiempo de archivos .nc usando pandas, xarray y matplotlib. Tengo dos conjuntos de datos: Temperatura de la superficie del mar de 1982 a 2019, de la cual trazo la media mensual de mi área y represento la variación de temperatura mensual durante esos 37 años. Temperat....
20 dic. 2021 a las 13:20
Me doy cuenta de que asignar valores individuales a un conjunto de datos de matriz x lleva mucho más tiempo que hacer lo mismo con una matriz numerosa. ¿Habría alguna forma de acelerar eso? Aquí está todo lo que probé al descomentar alternativamente cada línea en el ciclo: import numpy as np import....
16 dic. 2021 a las 15:58
Así que quiero fusionar 2 conjuntos de datos, 1 es un conjunto de datos ráster de banda única que proviene de rioxarray.open_rasterio (), el otro es una tabla de búsqueda, con un índice dim 'mukey'. Las coordenadas a lo largo de 'mukey' corresponden a los valores de índice de 'mukey' en la tabla de....
14 dic. 2021 a las 04:00
Digamos que tengo un DataArray: da = xr.DataArray( data=np.random.random((25,25)), dims=["x", "y"], coords=dict( x=np.arange(25), y=np.arange(25), ), ) Quiero reducir la resolución de esta matriz a trozos de 5x5. Puedo hacer esto con la función coarsen: da_coarse = ....
13 dic. 2021 a las 23:57
Tengo un script en el que creo un gran conjunto de datos de xarray lleno de np.nan y luego asigno valores individuales en un bucle, con .loc (también probé con indexación posicional) (doc) Me sale algo bastante extraño. Aquí está mi ejemplo mínimo reproducible: import xarray as xr import numpy as np....
13 dic. 2021 a las 21:27
Estoy tratando de convertir una matriz numérica 3D en una matriz de datos, sin embargo, recibo un error que no puedo entender. Tengo una matriz numérica 3D (lat, lon y time), y espero convertirla en una matriz de datos xarray con las dimensiones lat, lon y time. El np.random.rand es solo para hacer ....
12 dic. 2021 a las 01:45
He notado que si tiene un xArray DatarArray y realiza cálculos simples (!) En él, los atributos se 'eliminan'. Ejemplo: example = xr.DataArray(np.array([1,2,3]), attrs={'one':1}) without_Attributes = example*3 Por otro lado, si usa numerosas funciones específicas (por ejemplo, .round (x)....
9 dic. 2021 a las 15:15
Tengo una lista de múltiples matrices de datos con las mismas dimensiones en nombre y tamaño, quiero sumar todas las matrices de datos y crear una única matriz de datos con las mismas dimensiones de matrices de datos, ¿cuál es la mejor manera de hacerlo? [<xarray.DataArray (latitude: 501, longitude:....
9 dic. 2021 a las 07:45
Tengo una matriz 2D que cargo desde un archivo NetCDF usando xarray, y quiero hacer una especie de detección de bordes comparando los valores de las celdas con los valores de las celdas vecinas. Se me ocurrió este código: import numpy as np import xarray as xr d = xr.open_dataset('https://thredds.....
7 dic. 2021 a las 00:17
Quiero fusionar 70 archivos netCDF en uno. Para eso uso la función .to_netcdf () de xarray: ds = xarray.open_mfdataset('*.nc') ds.to_netcdf('SST_2021-10_timeseries.nc') Mi problema es que mi cuaderno jupyter siempre cuelga porque la cantidad de archivos es demasiado alta. ¿Existe una form....
2 dic. 2021 a las 12:14
Quiero guardar GeoDataFrame como un archivo NetCDF. Entonces, puedo combinarlo con otro archivo NetCDF más tarde. Sin embargo, hay un error al guardar el conjunto de datos convertido de GeoDataFrame. Aquí hay un código simple e información de error: import geopandas world = geopandas.read_file(ge....
30 nov. 2021 a las 14:58
Me gustaría tomar un conjunto de datos de matriz x con una dimensión de tiempo de 1 y simplemente replicar los datos para aumentar la dimensión de tiempo de 1 a N. ¿Cuál es la forma más eficiente de hacer esto? Probé varios métodos como expand_dims y stack, pero ninguno de estos parece hacer lo que....
30 nov. 2021 a las 00:00
Estoy intentando leer un archivo .nc y mostrar los datos en un mapa. Quiero que los ticks de la barra de colores no estén en potencias de escala 10, sino en números simples, de 0.1 a 10. Además, será bienvenido si puedo formatearlo para que vaya de 0.1 a 10 en como 7 ticks, así que el resultado es....
24 nov. 2021 a las 15:07
Tengo una matriz x tridimensional en Python construida como import numpy as np import pandas as pd import xarray as xr data_np = np.array([ [ [1, 2, 0, 8], [3, 4, 11, 2], [5, 6, 43, 90] ], [ [7, 8, 2, 66], [9, 10, 31, 21], [11, 12, 56, 45] ] ]) dim....
21 nov. 2021 a las 17:23
Tengo un conjunto de datos de matriz x con tres dimensiones que incluyen lat, lon y time. La dimensión de tiempo es un valor mensual para 12 valores de 1 a 12. Quiero trazar una variable de este conjunto de datos con el nombre de los meses (por ejemplo, 'Ene', 'Feb', 'Mar', ...). ¿Cómo puedo cambi....
17 nov. 2021 a las 23:05
Usando xarray, puedo definir una matriz 3D: >>> array = xr.DataArray( [[[3, 2, 1], [3, 1, 2], [2, 1, 3]], [[1, 3, 2], [2, 5, 1], [2, 3, 1]]], dims=("x", "y", "z")) >>> array <xarray.DataArray (x: 2, y: 3, z: 3)> array([[[3, 2, 1], [3, 1, 2], [2, 1, 3]], [[1, 3....
17 nov. 2021 a las 21:47
Quiero crear un Xarray DataArray con las siguientes coordenadas utilizando una serie de matrices numpy para datos de series de tiempo anuales (digamos que es la temperatura sobre una matriz uniforme de 1500X1500). ('tiempo', 'lon', 'lat') Coordenadas: time (time) datetime64 [ns] 2000-12-31 2001-12-3....
16 nov. 2021 a las 18:38
Me gustaría paralelizar este código: - "mean": float(zonal_extract.mean().compute()), - "min": float(zonal_extract.min().compute()), - "max": float(zonal_extract.max().compute()), - "sum": float(zonal_extract.sum().compute()), - "stddev": float(zonal_extract.std().....
13 nov. 2021 a las 05:34