You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xarray选取3D数组中均值最高的2D层的实现方法

错误原因

你之前调用的max(dim='x')是沿x维度对每个(y,z)位置的元素逐位取最大值,得到的是不同x层对应位置最大值拼接的数组,不符合取完整单一层的需求。

实现代码

你需要先计算每个x对应2D层的整体均值,再找到均值最大的层对应的x索引,最后按索引取出完整层即可:

# 计算每个x层的整体均值
layer_means = array.mean(dim=('y', 'z'))
# 获取均值最大层的x索引
max_x_idx = layer_means.argmax()
# 取出对应层
max_mean_layer = array.isel(x=max_x_idx)

也可以合并为一行写法:

max_mean_layer = array.isel(x=array.mean(dim=('y','z')).argmax())

示例运行结果

针对你给出的测试数组,x=0层的整体均值为2.0,x=1层的整体均值约为2.22,最终取出的均值最高层为:

<xarray.DataArray (y: 3, z: 3)>
array([[1, 3, 2],
       [2, 5, 1],
       [2, 3, 1]])
Dimensions without coordinates: y, z

内容的提问来源于stack exchange,提问作者FlipAD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:45:03