如何移除xarray数据集ts变量的lat、lon维度与坐标,仅保留time索引?
解决方法
要让ts变量仅保留time坐标、移除lat和lon的所有关联(维度、索引、坐标),核心是先移除ts上的lat和lon维度,再整理数据集,以下分两种场景处理:
场景1:对空间维度做聚合(如取均值/求和)
如果需要把所有lat、lon位置的ts数据聚合为仅随time变化的序列,直接对lat和lon维度执行聚合操作即可:
# 以均值聚合为例,可替换为sum/max/min等其他聚合函数 nds1_test1 = nds1['ts'].mean(dim=['lat', 'lon']).to_dataset()
操作后,nds1_test1仅包含time坐标和ts变量,无任何lat、lon相关维度或坐标。
场景2:提取特定lat/lon位置的数据
如果需要保留某一个空间点的ts数据,用sel方法定位目标坐标:
# 替换为你需要的实际lat、lon数值,method='nearest'适配无精确匹配的情况 nds1_test1 = nds1['ts'].sel(lat=30, lon=120, method='nearest').to_dataset()
原代码无效的原因
你之前的操作只是把lat、lon从索引转为坐标变量后删除,但ts变量本身的lat、lon维度并未移除,因此ts仍会关联这两个维度。必须先通过聚合或索引移除这两个维度,才能达到预期效果。
内容的提问来源于stack exchange,提问作者Jessica
相关产品推荐
相关产品推荐

