Python气象数据处理进阶之Xarray(6):数据重组与换形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python气象数据处理进阶之Xarray(6):数据重组与换形相关的知识,希望对你有一定的参考价值。

参考技术A 这一部分涉及到了常用的操作,比如调换维度的位置,给数据重新reshape换形等等,建议大家可以认真阅读这部分。
老样子,先新建一个数组

比如说在求某个东西时需要将时间维放在最后一维,但是数据本身的时间在第一维,那么便可以用到这个操作。
第一种是精准换位,指定每个维度的位置

第二种是单独换位,只对指定维度换位,将time放在最后,其余不变

第三种为全部换位,相当于数组转置

扩展指增加一个维度,压缩指将一个维度挤压掉

官方文档中接下来有一段是关于DataArray向DataSet转换的,个人感觉放在这一章节并不合理,我后边会整理放进Python气象数据处理进阶之Xarray(1)中(我觉得两种基础数据结构以及互相转换应该最开始介绍的)。所以接下来跳过这部分。

个人感觉可能处理站点数据会用到这个方法
换一个数组演示

现在将这个2维数组堆叠成1维

也可以拆分,其实就是反堆叠

最重要的是不同于Pandas,Xarray的stack不缺自动丢失缺测值!!!
Xarray还提供了将不同变量stack的例子,有兴趣的可以去看看。这个用法感觉比较鸡肋

这块比较难理解,建议还是先读第一篇文章,弄清数据结构,da数组显示Dimensions without coordinates: x,而通过da.set_index函数,将X设置为混合索引号。
之后便可以实线自由索引:

通过mda.reset_index('x')重置。
reorder_levels()函数允许调换索引顺序(个人感觉比较鸡肋)

这小节应该是这篇文章和数组换形换维同等重要的。

这就是对数组进行滚动。这个的作用主要在于做差分计算。虽然前边讲过Xarray提供了中央差计算函数,但是仍需要更灵活的操作,滚动函数就实现了这个目的。

以上是关于Python气象数据处理进阶之Xarray(6):数据重组与换形的主要内容,如果未能解决你的问题,请参考以下文章

Python气象数据处理进阶之Xarray(5):数据整合(分组,合并...)

[Xarray] 1. 数据结构

Python气象数据处理与绘图(1):数据读取

数据可视化应用xarray 绘图可视化-二进制GrADS气象数据处理(附代码)

数据可视化应用气象绘图(附Python代码)

数据可视化应用气象绘图(附Python代码)