从 xarray DataArray 中删除坐标

use*_*039 15 python python-xarray

我有一个 xarray DataArray,如下所示,形状为 (1,5,73,144,17),我试图删除或删除“级别”坐标。所以,最终,我需要变量的形状 = (1,5,73,144)。

stdna
Out[717]: 
<xarray.DataArray 'stack-6e9b86fc65e3f0fda2008a339e235bc7' (variable: 1, week: 5, lat: 73, lon: 144, 
level: 17)>
dask.array<stack, shape=(1, 5, 73, 144, 17), dtype=float32, chunksize=(1, 1, 73, 144, 17), 
chunktype=numpy.ndarray>
Coordinates:
* lon       (lon) float32 0.0 2.5 5.0 7.5 10.0 ... 350.0 352.5 355.0 357.5
* lat       (lat) float32 90.0 87.5 85.0 82.5 80.0 ... -82.5 -85.0 -87.5 -90.0
* level     (level) float32 1000.0 925.0 850.0 700.0 ... 50.0 30.0 20.0 10.0
* week      (week) int64 5 6 7 8 9
* variable  (variable) <U3 'hgt'
Run Code Online (Sandbox Code Playgroud)

我查看了 xarray 文档,但没有帮助。我已经围绕这个想法尝试了不同的组合,但我通常会得到下面的语句,并且坐标尚未被删除:

s = stdna.drop('level', dim=None)

Dimensions without coordinates: level
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

Max*_*ian 10

我们可以使用该drop_vars方法来删除坐标:

\n
In [10]: da\nOut[10]:\n<xarray.DataArray (dim_0: 2, dim_1: 3)>\narray([[0.15928504, 0.47081089, 0.50490985],\n       [0.6151981 , 0.41735643, 0.2576089 ]])\nCoordinates:\n    x        (dim_0, dim_1) float64 0.1593 0.4708 0.5049 0.6152 0.4174 0.2576\nDimensions without coordinates: dim_0, dim_1\n\nIn [11]: da.drop_vars(\'x\')\nOut[11]:\n<xarray.DataArray (dim_0: 2, dim_1: 3)>\narray([[0.15928504, 0.47081089, 0.50490985],\n       [0.6151981 , 0.41735643, 0.2576089 ]])\nDimensions without coordinates: dim_0, dim_1\n
Run Code Online (Sandbox Code Playgroud)\n

或者reset_coords(\'level\', drop=True)也可以。

\n
\n

正如评论 \xe2\x80\x94 中所讨论的,如果我们想减小数组的大小,那么我们需要进行一些切片或缩减操作。查看@MichaelDelgado 的答案以了解更多详细信息。

\n


P.B*_*DAY 2

最初,我查看了 drop 的行为,发现它并没有删除维度。它可用于删除数据变量本身。

然后我尝试了这个:

del stdna['level']
Run Code Online (Sandbox Code Playgroud)

我想说最好的方法是尝试:

stdna.drop_dims('level')
Run Code Online (Sandbox Code Playgroud)

我还尝试过一件事:

stdna = stdna.drop([i for i in stdna.coords if i not in stdna.dims])
Run Code Online (Sandbox Code Playgroud)

看看我是否可以概括这个问题。但不要认为这会起到很好的作用。来自文档:http://xarray.pydata.org/en/stable/ generated/xarray.Dataset.drop_dims.html