[Xarray] 1. Estructura de datos
Consulte la documentación oficial de Xarray, Procesamiento avanzado de datos meteorológicos de Python para Xarray (1): estructuras de datos en Xarray.
En Xarray, la estructura y el marcado de los datos se dividen en siguientes categorías:
1. Matriz de datos (DataArray):
Una matriz multidimensional con dimensiones etiquetadas o nombradas. DataArray agrega metadatos (como nombres de dimensiones, coordenadas y propiedades) a estructuras de datos subyacentes sin etiquetar, como matrices numpy y Dask.
2. Conjunto de datos:
Una colección de objetos DataArray, con una estructura de pares de dimensiones similar a un diccionario. Por lo tanto, la mayoría de las operaciones que se pueden realizar en las dimensiones de un único DataArray se pueden realizar en el conjunto de datos.
Un conjunto de datos es una colección de múltiples DataArrays
3. Variables:
Variables similares a NetCDF. La principal diferencia funcional entre variables y matrices numpy es que las operaciones numéricas sobre variables se pueden implementar en forma de transmisiones de matrices a través de nombres de dimensiones.
En términos sencillos, variables Xarray implementa el filtrado y procesamiento de datos manipulando el nombre de las dimensiones, que consiste en etiquetar y nombrar los datos con la siguiente definición: * Dimensión: el nombre de la dimensión de cada eje (por ejemplo, ('x','y','z')). * Coordenada: Coordenadas o escala. Una secuencia similar a un diccionario que se utiliza para etiquetar cada punto. Por ejemplo, si la dimensión es latitud, entonces las coordenadas correspondientes son las coordenadas de latitud (90°N, 89°N, 88°N...89°S, 90°S). * Índice: Número de índice, que también se puede decir que es una marca de posición. a[0] representa un número en la matriz a, 0 es el índice. Como puede ver, el archivo es un conjunto de datos, que contiene variables: variables de datos, las dimensiones del conjunto de datos son longitud, latitud y tiempo, cada conjunto de datos tiene sus propias coordenadas, el conjunto de datos también tiene algunas propiedades. que representan información sobre el conjunto de datos. Podemos ver las variables, dimensiones y coordenadas contenidas en el conjunto de datos de las siguientes maneras: Ver las variables, dimensiones y coordenadas contenidas en el conjunto de datos por separado. Otro ejemplo es la información de altura potencial de NCEP: Básicamente lo mismo que el anterior. Cabe señalar que los datos ncl están en formato corto. Debe usar la función short2flt() para leerlos, pero no existe el formato corto en Python. El valor predeterminado es punto flotante. entonces no es necesario que pienses en este tema. A veces leemos datos de otras maneras, pero los datos están en formato np.array y necesitamos convertirlos al formato DataArray, o necesitamos generar archivos NC y necesitamos convertir la matriz de cálculo a Formato DataArray. Esto requiere el uso del método de creación. 1. Datos: datos, que pueden ser numpy ndarray, series, DataFrame, pandas.panel, etc. 2. Coordenadas: lista de coordenadas o diccionario. Si es una lista, debería ser una lista de tuplas. El primer elemento es el nombre de la dimensión y el segundo elemento es el objeto de matriz correspondiente en forma de coordenadas. El formato del diccionario es mejor 3. dims: lista de nombres de dimensiones Si se omite y coords es una lista de primitivas, los nombres de las dimensiones se toman de las coords. 4. attrs: atributos 5. nombres: nombres de variables Excepto los datos, nada de lo anterior es obligatorio. Un ejemplo de creación es el siguiente: Como se mencionó anteriormente, nada de lo anterior es necesario excepto los datos Si está convirtiendo datos desde un DataFrame a un DataArray (esta operación se usa a menudo en combinación con Pandas y Xarray): Los nombres de filas y columnas y los números de secuencia se reconocen automáticamente. Hay ejemplos más complejos en la documentación oficial, consulte el sitio web si es necesario. Después de crear datos, también podemos usar operaciones relacionadas para obtener diversa información de DataArray: Si desea modificar el valor de DataArray, puede hacerlo mediante los dos métodos siguientes : p> Los dos resultados son equivalentes, pero el funcionario solo da el primer resultado. * Cambie el nombre con el comando foo.rename('temperatura'), por ejemplo, si obtiene una nueva variable mediante el cálculo hgt y necesita cambiarle el nombre. Después de obtener el DataArray, cuando se usa para dibujar, por ejemplo, necesitamos obtener su longitud y latitud (en este caso, la hora y la altitud en el ejemplo de ahora), luego puedes pasar Estos dos métodos recuperan directamente la información de coordenadas. El principio de modificar o eliminar información de coordenadas es el mismo que el de modificar datos: El sitio web oficial ofrece una estructura de conjunto de datos tomando como ejemplo los datos climáticos: < center> El conjunto de datos contiene temas de datos (temperatura, precipitación) y coordenadas dimensionales (latitud, longitud). Según el ejemplo del sitio web oficial, el conjunto de datos se crea así, que en realidad es similar al DataArray: De hecho, este ejemplo no es lo mismo que los ejemplos que normalmente encontramos, porque la mayoría de los datos de latitud y longitud son unidimensionales. Las operaciones en Dataset son básicamente las mismas que en DataArray y no se describirán nuevamente.