日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

瀏覽:26日期:2022-06-21 18:11:39

引言:我一直想理解空間相關(guān)分析的計(jì)算思維,于是今天又拿起Python腳本和數(shù)據(jù)來(lái)做練習(xí)。首先需要說(shuō)明的是,這次實(shí)驗(yàn)的數(shù)據(jù)和Python腳本均來(lái)自于[好久不見(jiàn)]大佬,在跟大佬說(shuō)明之后,允許我寫(xiě)到公眾號(hào)來(lái)與大家共享,在此對(duì)大佬的指點(diǎn)表示感謝,這次實(shí)驗(yàn)的腳本可在氣象家園或簡(jiǎn)書(shū)app(如果沒(méi)記錯(cuò)的話)搜索到這次實(shí)驗(yàn)的相關(guān)內(nèi)容,也可以微信或者后臺(tái)發(fā)消息給我獲取。在此之前我覺(jué)得自己還沒(méi)理解這個(gè)方法的計(jì)算思維,檢驗(yàn)的標(biāo)準(zhǔn)就是我能否迅速運(yùn)用到其他方面。于是今天又重新回來(lái)溫習(xí)一遍,我把自己的理解與大伙共同交流。

首先,數(shù)據(jù)的格式是NetCDF(.nc)數(shù)據(jù),兩個(gè)數(shù)據(jù)分別是[哈德來(lái)中心海溫sst數(shù)據(jù),pc數(shù)據(jù)是對(duì)東太平洋SSTA做的EOF獲取]。知道數(shù)據(jù)信息之后我們就準(zhǔn)備開(kāi)始去運(yùn)行程序。原始腳本包括了回歸分析和相關(guān)分析兩部分,但是今天我做了空間相關(guān)分析這一部分,有興趣的可以到[好久不見(jiàn)]大佬的氣象家園閱讀喔!如果還沒(méi)有安裝Cartopy包的話請(qǐng)?jiān)诤笈_(tái)聯(lián)系我喔

為了方便理解每一步,我選擇去Jupyter運(yùn)行,因?yàn)榭梢砸欢我欢纬绦虻倪\(yùn)行,這是比較方便的。繪圖部分并不是很難,關(guān)鍵還是在于數(shù)據(jù)預(yù)處理部分。

空間相關(guān)分析的腳本如下:

import numpy as np #數(shù)值計(jì)算用,如相關(guān)系數(shù)import xarray as xr #讀取.nc文件用from sklearn.feature_selection import f_regression #做顯著性檢驗(yàn)import matplotlib.pyplot as plt #繪制和展示圖形用import cartopy.crs as ccrs #繪制地圖用,如果沒(méi)有安裝好的話,請(qǐng)?jiān)诤笈_(tái)聯(lián)系我import cartopy.feature as cfeature #添加一些矢量用,這里沒(méi)用到,因?yàn)槲覜](méi)數(shù)據(jù)from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter #經(jīng)緯度格式設(shè)置import cmaps #ncl的color,如果沒(méi)有的話,請(qǐng)聯(lián)系我,也可以在氣象家園找到#使用上下文管理器讀取.nc數(shù)據(jù),并提取數(shù)據(jù)中的變量,可以提前用NASA的panoply這個(gè)軟件查看.nc信息with xr.open_dataset(r’D:inuyashacodeXcodeLEARNsst.DJF.mean.anom.nc’) as f1: pre = f1[’sst_anom’][:-1, :, :] # 三維數(shù)據(jù)全取,時(shí)間,緯度+經(jīng)度 lat, lon = f1[’lat’], f1[’lon’] #提取經(jīng)緯度,后面格網(wǎng)化需要用到pre2d = np.array(pre).reshape(pre.shape[0], pre.shape[1]*pre.shape[2])#0表示行個(gè)數(shù),1列代表的個(gè)數(shù),2經(jīng)度代表個(gè)數(shù)with xr.open_dataset(r’D:inuyashacodeXcodeLEARNpc.DJF.sst.nc’) as f2: pc = f2[’pc’][0, :]# 相關(guān)系數(shù)計(jì)算pre_cor = np.corrcoef(pre2d.T, pc)[:-1, -1].reshape(len(lat), len(lon))# 做顯著性檢驗(yàn)pre_cor_sig = f_regression(np.nan_to_num(pre2d), pc)[1].reshape(len(lat), len(lon))#用0代替NaNarea = np.where(pre_cor_sig < 0.05)# numpy的作用又來(lái)了 nx, ny = np.meshgrid(lon, lat) # 格網(wǎng)化經(jīng)緯度,打印出來(lái)看看就知道為什么要這么做了plt.figure(figsize=(16, 8)) #創(chuàng)建一個(gè)空畫(huà)布#讓colorbar字體設(shè)置為新羅馬字符plt.rcParams[’font.family’] = ’Times New Roman’plt.rcParams[’font.size’] = 16ax2 = plt.subplot(projection=ccrs.PlateCarree(central_longitude=180))# 在畫(huà)布上繪圖,這個(gè)叫axes,這不是坐標(biāo)軸喔ax2.coastlines(lw=0.4)ax2.set_global()c2 = ax2.contourf(nx, ny, pre_cor, extend=’both’, cmap=cmaps.nrl_sirkes, transform=ccrs.PlateCarree())plt.colorbar(c2,fraction=0.05,orientation=’horizontal’, shrink=0.4, pad=0.06)# extend關(guān)鍵字設(shè)置colorbar的形狀,both為兩端尖的,pad是距離主圖的距離,其他參數(shù)web搜索# 顯著性打點(diǎn)sig2 = ax2.scatter(nx[area], ny[area], marker=’+’, s=1, c=’k’, alpha=0.6, transform=ccrs.PlateCarree())# 凸顯顯著性區(qū)域plt.title(’Correlation Analysis’, fontdict={’family’ : ’Times New Roman’, ’size’ : 16})#標(biāo)題字體也修改為新羅馬字符,數(shù)字和因?yàn)榻ㄗh都用新羅馬字符ax2.set_xticks(np.arange(0, 361, 30),crs=ccrs.PlateCarree())# 經(jīng)度范圍設(shè)置,nunpy的作用這不就又來(lái)了嘛plt.xticks(fontproperties = ’Times New Roman’,size=16) #修改xy刻度字體為新羅馬字符plt.yticks(fontproperties = ’Times New Roman’,size=16)ax2.set_yticks(np.arange(-90, 90, 15),crs=ccrs.PlateCarree())# 設(shè)置yax2.xaxis.set_major_formatter(LongitudeFormatter(zero_direction_label = False))#經(jīng)度0度不加?xùn)|西ax2.yaxis.set_major_formatter(LatitudeFormatter())# 設(shè)置經(jīng)緯度格式,就是多少度顯示那樣的,而不是一些數(shù)字ax2.set_extent([-178, 178, -70, 70], crs=ccrs.PlateCarree())# 設(shè)置空間范圍plt.grid(color=’k’)# 畫(huà)一個(gè)網(wǎng)格吧plt.show()# 顯示出圖形

那么就運(yùn)行看看效果吧

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

如果覺(jué)得這個(gè)color不喜歡的話,就換一下ncl的來(lái)吧,ncl的顏色多而漂亮,喜歡啥就換啥

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

想要理解這個(gè)方法的計(jì)算思維,有必要觀察原始數(shù)據(jù)和數(shù)據(jù)處理之后的樣式,理解了數(shù)據(jù)樣式之后可能更有助于我們理解整個(gè)程序

import numpy as npimport xarray as xrfrom sklearn.feature_selection import f_regressionimport matplotlib.pyplot as pltimport cartopy.crs as ccrsimport cartopy.feature as cfeaturefrom cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatterimport cmapswith xr.open_dataset(r’D:inuyashacodeXcodeLEARNsst.DJF.mean.anom.nc’) as f1: pre = f1[’sst_anom’][:-1, :, :] # 三維數(shù)據(jù)全取,時(shí)間,緯度+經(jīng)度 lat, lon = f1[’lat’], f1[’lon’]pre2d = np.array(pre).reshape(pre.shape[0], pre.shape[1]*pre.shape[2])#0行代表的個(gè)數(shù),1緯度,2經(jīng)度#pre2d.shape是一個(gè)39行,16020列的矩陣,T之后就變?yōu)榱?6020行,39列with xr.open_dataset(r’D:inuyashacodeXcodeLEARNpc.DJF.sst.nc’) as f2: pc = f2[’pc’][0, :]#pc是一個(gè)39行的數(shù)組# # 相關(guān)系數(shù)pre_cor = np.corrcoef(pre2d.T, pc)[:-1, -1].reshape(len(lat), len(lon))#pre_cor.shape,(16020,)->reshape(89,180)# # 顯著性檢驗(yàn)# pre_cor_sig = f_regression(np.nan_to_num(pre2d), pc)[1].reshape(len(lat), len(lon))#用0代替NaN# area = np.where(pre_cor_sig < 0.05)nx, ny = np.meshgrid(lon, lat) # 格網(wǎng)化nx,ny

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

看看格網(wǎng)化后的經(jīng)緯度多規(guī)范啊。畫(huà)張圖來(lái)看看可能也會(huì)直觀一些。

如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析

好吧,今天的分享就到這里了,理解了這個(gè)計(jì)算思維,能更好地遷移運(yùn)用到其他研究方面,如果還沒(méi)有安裝Cartopy包的話請(qǐng)?jiān)诤笈_(tái)聯(lián)系我喔,如果需要測(cè)試數(shù)據(jù)和腳本請(qǐng)?jiān)诤笈_(tái)聯(lián)系我,當(dāng)然也可以去[好久不見(jiàn)]大佬的主頁(yè)。如果覺(jué)得這次分享不錯(cuò)的話,還請(qǐng)老鐵們點(diǎn)個(gè)贊,多多分享,歡迎交流學(xué)習(xí),感謝各位!

原始資料:

http://bbs.06climate.com/forum.php?mod=viewthread&tid=92816&highlight=%CF%D4%D6%F8%D0%D4%BC%EC%D1%E9%2B%CF%E0%B9%D8%B7%D6%CE%F6

以上就是如何使用Python對(duì)NetCDF數(shù)據(jù)做空間相關(guān)分析的詳細(xì)內(nèi)容,更多關(guān)于Python對(duì)NetCDF數(shù)據(jù)做空間分析的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品麻豆| 日韩国产一区二区| 国产精品二区影院| 久久久久久久久99精品大| 亚洲欧洲日韩精品在线| 国产伊人久久| 天堂久久av| 精品欧美日韩精品| 男人操女人的视频在线观看欧美| 国产成年精品| 日韩欧美在线精品| 国产在线日韩| 精品视频91| 婷婷综合一区| 蜜桃视频欧美| 另类综合日韩欧美亚洲| 最新亚洲国产| 亚洲成人二区| 精品免费视频| 日韩国产欧美三级| 99热精品在线| 色偷偷偷在线视频播放| 日韩av中文在线观看| 国产综合婷婷| 国产一区二区色噜噜| 日韩区一区二| 亚洲精品一二三区区别| 日本黄色精品| 国产精品观看| 亚洲精品美女91| 婷婷精品进入| 日韩在线短视频| 精品国产一区二区三区av片| 日本久久一区| 美国三级日本三级久久99 | 亚洲伦乱视频| 免费一级欧美片在线观看网站| 免费观看久久久4p| 激情视频一区二区三区| 高清久久精品| 久久亚洲精精品中文字幕| 日本成人手机在线| 蜜芽一区二区三区| 99视频精品免费观看| 蜜桃视频在线网站| 久久久国产精品网站| 亚洲精品自拍| 中文一区二区| 亚洲精品国产偷自在线观看| 日本少妇一区| 综合日韩av| 精品视频国产| 国产乱码精品一区二区三区四区| 一区二区不卡| 丝袜诱惑制服诱惑色一区在线观看| 亚洲www啪成人一区二区| 岛国av在线网站| 日韩成人a**站| 给我免费播放日韩视频| 荡女精品导航| 久久永久免费| 国产精成人品2018| 国产欧美另类| 国产午夜久久av| 日韩av不卡一区二区| 色综合视频一区二区三区日韩| 亚洲欧美日本视频在线观看| 一本色道久久精品| 免费在线观看视频一区| 亚洲丝袜美腿一区| 色婷婷成人网| 久久精品凹凸全集| 国产精品sm| 国产精品99一区二区三区| 国产一区二区三区不卡av| 色爱综合网欧美| 高清不卡一区| 欧产日产国产精品视频| 欧美日韩精品免费观看视欧美高清免费大片 | 日本激情一区| 中文字幕在线免费观看视频| 九九精品调教| 欧美国产91| 国产婷婷精品| 综合激情婷婷| 国产亚洲一卡2卡3卡4卡新区| 国产剧情在线观看一区| 久久精品国产成人一区二区三区| 久久中文在线| 日本精品黄色| 久久久精品网| 国产精品日本欧美一区二区三区| 蜜桃一区二区三区在线观看| 欧美一级二级三级视频| 韩国女主播一区二区三区| 日韩精品dvd| 99国产成+人+综合+亚洲欧美| 蜜桃免费网站一区二区三区| 国产日韩视频| 老司机精品久久| 国产激情精品一区二区三区| 国产精品videossex| 久久精品九色| 日韩av在线中文字幕| 国产成人免费av一区二区午夜| 婷婷亚洲五月色综合| 中文在线不卡| 国产亚洲欧美日韩在线观看一区二区 | 久久亚洲影院| 欧美精品三级在线| 国产成人精品亚洲线观看| 激情丁香综合| 日本不卡视频在线观看| 精品日韩一区| 久久激情婷婷| 亚洲婷婷丁香| 国产一区丝袜| 中文在线一区| 国产精品综合色区在线观看| 日韩成人高清| 色8久久久久| 日韩美女一区二区三区在线观看| 手机精品视频在线观看| 麻豆精品av| 在线视频免费在线观看一区二区| 国产日韩中文在线中文字幕 | 91九色综合| 精品丝袜在线| 日韩中文字幕| 天堂а√在线最新版中文在线| 丝袜诱惑制服诱惑色一区在线观看 | 婷婷成人在线| 青青伊人久久| 日韩在线不卡| 日本不卡一二三区黄网| 日韩伦理福利| 亚洲精品福利| 免费看av不卡| 日本精品国产| 99精品在线观看| 日本色综合中文字幕| 久久精品1区| 国产伦精品一区二区三区在线播放| 亚洲性视频h| 免费日韩一区二区三区| 亚洲精品网址| 国产91在线精品| 日韩一区二区三区精品| 97国产精品| 69精品国产久热在线观看| 激情综合亚洲| 成人在线视频中文字幕| 亚洲免费一区三区| 国产v综合v| 国产日韩欧美一区| 国产亚洲高清视频| 色网在线免费观看| 国产亚洲一区| 国产精品毛片| 欧美一区久久久| 国产精品一区二区精品 | 日韩欧美一区二区三区在线观看 | 免费在线观看一区| 亚洲精品成人一区| 亚洲国产不卡| 精品欧美日韩精品| 欧美一区免费| 丝袜美腿一区二区三区| 亚洲精品永久免费视频| 91伊人久久| 久久亚洲色图| 亚洲福利专区| 日韩精品诱惑一区?区三区| 国产欧美亚洲精品a| 中文字幕一区二区三区四区久久 | 日本一二区不卡| 国产日韩欧美高清免费| 视频一区二区欧美| 亚洲v在线看| 午夜久久中文| 精品中文字幕一区二区三区四区| 日韩精品一区二区三区免费视频| 日韩视频不卡| 亚洲成人精品| 久久男人天堂| 激情综合婷婷| 国产精品一区二区三区美女| 日韩一区中文| 中文字幕日韩高清在线| 国产一区二区高清| 五月天久久网站| 久久九九99| 波多视频一区| 福利片在线一区二区| 国产一区二区三区亚洲| 精品黄色一级片| 精品三区视频| 国内精品麻豆美女在线播放视频| 国产精品99精品一区二区三区∴| 欧美亚洲三区|