NCL-数据处理 专题二
注:此专题主要针对别人问的问题(包括但不限于阿b平台)进行解答,答案仅供参考,毕竟代码这东西特异性非常强。
遇到数据单位不一致时,应该如何处理?
比如,CRU的降水和PET数据,一个是mm/month,一个是mm/day,如果需要对两个变量进行对比就需要将单位统一,下面给出两个将mm/day换算为mm/month方法:
a) 快速:mm/day×30=mm/month
这种方法虽然看上去不够准确,但实际计算出的结果没什么大的问题,所以用这种方法的人不在少数。
b) 准确:利用循环
设置两个非润年和闰年两个月份数据:
leapyear = (/31,29,31,30,31,30,31,31,30,31,30,31/)
nonleapyear = (/31,28,31,30,31,30,31,31,30,31,30,31/)
新建一个与原数据相同纬度大小的数组
循环体:
首先判断所处年份是否为闰年,再依次将各个月份的数据乘以对应月份天数,非润年有一个特殊情况,需要注意。
此方法得出的结果相对准确,不过所花费的时间也会更长一点,根据需求和个人习惯自信选择。
顺序错乱的数据,如何处理?
首先查看数据是否损坏,一般情况下,官网下载的数据都是一句一定的规则排列的,具体格式参考官网的数据说明,不存在损坏情况,可能在存入硬盘或云盘过程中损坏。其次,针对非人为损坏乱序数据,可以采用sort命令对所在维度进行排序(正序或倒序),处理之后就能得到想要的结果。
大家有问题可以在专栏留言,代码(python,NCL)出错提问格式 报错信息+报错行前后3行代码 ,必要情况附上代码实现目的。