在这里插入图片描述
全球海温数据下载
美赛的2020-A是一道关于海洋温度的题,由于海洋温度数据的封装格式是nc格式,所以excel处理不了,得用代码处理,本来以为挺简单的事情,结果,光看懂数据就花了一天的时间,哭了,网上资源层次不齐,我还是记录一下。

刚开始使用了matlab打开nc数据,但是没看明白就转战了python。

先贴上matlab:
matlab读取这个类型的数据一般用ncread

lon = ncread('ERsst.mnmean.nc','lon');
lat = ncread('ERsst.mnmean.nc','lat');

python:

data = Dataset(r'D:\Code\AI\DataVisualization\SST_data\ERsst.mnmean.nc')
#保存经纬度数据信息解释
latInfo = np.array(data.variables['lat'])
lonInfo = np.array(data.variables['lon'])
timeInfo = np.array(data.variables['time'])
sstInfo = data.variables['sst']

print(timeInfo)
lats = data.variables['lat'][:]
lons = data.variables['lon'][:]
time = data.variables['time'][:]
#print(data.variables['lon'])
sst = data.variables['sst'][:]

sst_1000 = sst[1000,:,:]
print(type(sst_1000))
keys = data.variables.keys()
print(keys)

这些参考一下网上的代码也不难,难的是数据分析,帮大家把坑踩了:
在这里插入图片描述
这里说明数据是以天为编码,即从1800-1月距离至今经过的天数作为计算
所以数据的开始是[19723,79743],19723算出来大概是1854年,而79743大概是2020年。

而数据的个数是1973,也就是1973个月的数据,time里包含的时间戳是这样,细心观察也可以发现,19723距离19754刚好是一个月的时间。
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐