對(duì)于氣象繪圖來(lái)講,第一步是對(duì)數(shù)據(jù)的處理,通過(guò)各類公式,或者統(tǒng)計(jì)方法將原始數(shù)據(jù)處理為目標(biāo)數(shù)據(jù)。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、婁星網(wǎng)站維護(hù)、網(wǎng)站推廣。
按照氣象統(tǒng)計(jì)課程的內(nèi)容,我給出了一些常用到的統(tǒng)計(jì)方法的對(duì)應(yīng)函數(shù):
在計(jì)算氣候態(tài),區(qū)域平均時(shí)均要使用到求均值函數(shù),對(duì)應(yīng)NCL中的dim_average函數(shù),在python中通常使用np.mean()函數(shù)
numpy.mean(a, axis, dtype)
假設(shè)a為[time,lat,lon]的數(shù)據(jù),那么
需要特別注意的是,氣象數(shù)據(jù)中常有缺測(cè),在NCL中,使用求均值函數(shù)會(huì)自動(dòng)略過(guò),而在python中,當(dāng)任意一數(shù)與缺測(cè)(np.nan)計(jì)算的結(jié)果均為np.nan,比如求[1,2,3,4,np.nan]的平均值,結(jié)果為np.nan
因此,當(dāng)數(shù)據(jù)存在缺測(cè)數(shù)據(jù)時(shí),通常使用np.nanmean()函數(shù),用法同上,此時(shí)[1,2,3,4,np.nan]的平均值為(1+2+3+4)/4 = 2.5
同樣的,求某數(shù)組最大最小值時(shí)也有np.nanmax(), np.nanmin()函數(shù)來(lái)補(bǔ)充np.max(), np.min()的不足。
其他很多np的計(jì)算函數(shù)也可以通過(guò)在前邊加‘nan’來(lái)使用。
另外,
也可以直接將a中缺失值全部填充為0。
np.std(a, axis, dtype)
用法同np.mean()
在NCL中有直接求數(shù)據(jù)標(biāo)準(zhǔn)化的函數(shù)dim_standardize()
其實(shí)也就是一行的事,根據(jù)需要指定維度即可。
皮爾遜相關(guān)系數(shù):
相關(guān)可以說(shuō)是氣象科研中最常用的方法之一了,numpy函數(shù)中的np.corrcoef(x, y)就可以實(shí)現(xiàn)相關(guān)計(jì)算。但是在這里我推薦scipy.stats中的函數(shù)來(lái)計(jì)算相關(guān)系數(shù):
這個(gè)函數(shù)缺點(diǎn)和有點(diǎn)都很明顯,優(yōu)點(diǎn)是可以直接返回相關(guān)系數(shù)R及其P值,這避免了我們進(jìn)一步計(jì)算置信度。而缺點(diǎn)則是該函數(shù)只支持兩個(gè)一維數(shù)組的計(jì)算,也就是說(shuō)當(dāng)我們需要計(jì)算一個(gè)場(chǎng)和一個(gè)序列的相關(guān)時(shí),我們需要循環(huán)來(lái)實(shí)現(xiàn)。
其中a[time,lat,lon],b[time]
(NCL中為regcoef()函數(shù))
同樣推薦Scipy庫(kù)中的stats.linregress(x,y)函數(shù):
slop: 回歸斜率
intercept:回歸截距
r_value: 相關(guān)系數(shù)
p_value: P值
std_err: 估計(jì)標(biāo)準(zhǔn)誤差
直接可以輸出P值,同樣省去了做置信度檢驗(yàn)的過(guò)程,遺憾的是仍需同相關(guān)系數(shù)一樣循環(huán)計(jì)算。
f=[i?for?i?in?xrange(0,300,20)]
c=[round(5.0/9*(i-32),2)?for?i?in?f]
print?f
print?c
python2.7
描述
溫度的刻畫(huà)有兩個(gè)不同體系:攝氏度(Celsius)和華氏度(Fahrenheit)。
請(qǐng)編寫(xiě)程序?qū)⒂脩糨斎肴A氏度轉(zhuǎn)換為攝氏度,或?qū)⑤斎氲臄z氏度轉(zhuǎn)換為華氏度。
轉(zhuǎn)換算法如下:(C表示攝氏度、F表示華氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 輸入輸出的攝氏度采用大寫(xiě)字母C開(kāi)頭,溫度可以是整數(shù)或小數(shù),如:C12.34指攝氏度12.34度;
(2) 輸入輸出的華氏度采用大寫(xiě)字母F開(kāi)頭,溫度可以是整數(shù)或小數(shù),如:F87.65指華氏度87.65度;
(3) 不考慮異常輸入的問(wèn)題,輸出保留小數(shù)點(diǎn)后兩位;
(4) 使用input()獲得測(cè)試用例輸入時(shí),不要增加提示字符串。
程序:
TempStr = input()
if TempStr[0] in ['F']:? ? #因?yàn)橐筝斎胼敵鍪谴髮?xiě)C或者F,所以針對(duì)第一位字符做判斷
C = (eval(TempStr[1:]) - 32)/1.8? ? #TempStr[1:]表示字符串除首字符外的所有字符。
print("C{:.2f}".format(C))? ? ?#采用{:.2f}將輸出數(shù)字變成兩位小數(shù)點(diǎn)表示時(shí),即使數(shù)學(xué)上該輸出值是整數(shù),也會(huì)按照小數(shù)方式輸出,例如,轉(zhuǎn)換后溫度為10度,輸出為10.00;
elif TempStr[0] in ['C']:? ??
F = 1.8*eval(TempStr[1:]) + 32? ??
print("F{:.2f}".format(F))
else:
print()? ? ? #不輸入任何錯(cuò)誤提示
我們都知道,現(xiàn)在通用的溫度有2種,一種是 攝氏度 ,另一種是 華氏度 。
至于想要深入了解的小伙伴,給你們加上了鏈接:
攝氏度: 用符號(hào) C表示,是世界上使用較為廣泛的 溫標(biāo) 之一
網(wǎng)址:
華氏度: 符號(hào) 。華氏度 = 32+ 攝氏度 1.8
網(wǎng)址:
第一步: 先用input()輸入當(dāng)時(shí)的溫度
第二步: 判斷輸入溫度的類型,如果是華氏度F的話,(可以大小寫(xiě))執(zhí)行計(jì)算:
攝氏度=(華氏度-32)/18
這里的 TempStr[-1] 是指最后一個(gè)字符串在F/f判斷是華氏度。 TempStr[0:-1] 取的是數(shù)值,用
eval() 函數(shù),使得這些數(shù)值可以被計(jì)算出來(lái)。從而使得該公式可以計(jì)算賦值給變量C。
print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C)), {:.2f} ,這里.2是使結(jié)果保留2位小數(shù),f在.format(C)中展示,帶上單位C。就完成打印。
第三步: 華氏度轉(zhuǎn)成攝氏度
這是華氏度轉(zhuǎn)化攝氏度的,下面攝氏度轉(zhuǎn)化華氏度是同樣的方法。
以下是完整代碼:
一個(gè)程序還是包含著挺多知識(shí)的, 保留2位小數(shù),eval(),.format(),input(), 需要細(xì)看才好好理解。歡迎觀看~
python3代碼如下:
把下面代碼里的井號(hào)改成空格
l = []
for i in range(1, 8):
##l.append(float(input('第%d天:' % i)))
print('平均溫度:', sum(l) / len(l))
本文名稱:python溫度梯度函數(shù),python 梯度計(jì)算
標(biāo)題鏈接:http://chinadenli.net/article28/hcjhjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、定制開(kāi)發(fā)、服務(wù)器托管、商城網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)