如何为三维数组erf[longitude, latitude, time]计算时间维度中值得到二维数组?
计算三维数组沿时间轴的中值得到二维数组
假设你用NumPy处理数组,直接沿时间维度(第三个轴,索引为2)调用np.median()即可:
import numpy as np # 先计算erf数组(如果还未计算) erf = r1 - (r2 + r3) # 沿time轴(axis=2)计算中值,得到[longitude, latitude]的二维数组 erf_median = np.median(erf, axis=2)
如果你的数组带维度标签(比如气象/地理数据常用的xarray),可以直接按维度名称计算,更不易出错:
import xarray as xr # 假设r1、r2、r3是xarray.DataArray,包含'longitude'、'latitude'、'time'维度 erf = r1 - (r2 + r3) # 按time维度计算中值 erf_median = erf.median(dim='time')
补充说明:
- NumPy中
axis=2对应你数组的第三个维度(time),若维度顺序不同(比如time在前),需调整axis参数; - xarray的方式更直观,直接指定维度名称
'time',无需关心轴的索引位置,适合维度较多或顺序易变的场景。
内容的提问来源于stack exchange,提问作者Αλέξανδρος Τσιαμπάζης
相关产品推荐
相关产品推荐

