coordinates - 在xarray中交换纬度和经度位置
问题描述
我有一个交换了纬度和经度位置的 NetCDF 文件。
我通常使用的 Netcdf 标准方式定义如下:
<xarray.DataArray 'pev' (time: 365, latitude: 480, longitude: 1440)>
Coordinates:
* time (time) datetime64[ns] 2001-01-01T11:30:00 ... 2001-12-31T11:30:00
* longitude (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75
* latitude (latitude) float32 59.75 59.5 59.25 59.0 ... -59.5 -59.75 -60.0
但我正在处理的 NetCDF 的规格如下:
<xarray.DataArray 'ETa' (time: 12, longitude: 720, latitude: 360)>
Coordinates:
* latitude (latitude) float64 89.75 89.25 88.75 ... -88.75 -89.25 -89.75
* longitude (longitude) float64 -179.8 -179.2 -178.8 ... 178.8 179.2 179.8
Dimensions without coordinates: time
由于纬度和经度的位置是交换的,所以如果不分几步修改代码,做分析有点困难。
有没有人遇到过这样的问题并且知道如何在使用早期解决这个问题xarray
?
解决方案
使用该ds.transpose()
功能。
data.transpose('time', 'latitude', 'longitude')
推荐阅读
- javascript - 在包含复杂嵌套数组的 javascript 对象中查找项目
- diameter-protocol - 直径最终单位指示 avp 可以通过 Gx 接口使用吗?
- android - 如何验证电子邮件地址的特定域?
- c++ - 同一图像中的反转文本和背景颜色
- javafx - 如何改进 MediaView 使其可以播放更多视频扩展 JavaFX
- python - .cumsum() 令人费解的效果
- python - 为什么“test”.count('') 返回 5?
- 3d - 如何在没有来自 Kinect Window SDK 的 Coordinatemapper 的情况下将 3D 骨骼关节映射回 2D 彩色图像
- c# - System.NullReferenceException - 我错过了什么?
- java - Java 覆盖特定方法 a()