python溫度梯度函數(shù),python 梯度計算

Python氣象數(shù)據(jù)處理與繪圖(2):常用數(shù)據(jù)計算方法

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

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、婁星網(wǎng)站維護、網(wǎng)站推廣。

按照氣象統(tǒng)計課程的內(nèi)容,我給出了一些常用到的統(tǒng)計方法的對應函數(shù):

在計算氣候態(tài),區(qū)域平均時均要使用到求均值函數(shù),對應NCL中的dim_average函數(shù),在python中通常使用np.mean()函數(shù)

numpy.mean(a, axis, dtype)

假設a為[time,lat,lon]的數(shù)據(jù),那么

需要特別注意的是,氣象數(shù)據(jù)中常有缺測,在NCL中,使用求均值函數(shù)會自動略過,而在python中,當任意一數(shù)與缺測(np.nan)計算的結果均為np.nan,比如求[1,2,3,4,np.nan]的平均值,結果為np.nan

因此,當數(shù)據(jù)存在缺測數(shù)據(jù)時,通常使用np.nanmean()函數(shù),用法同上,此時[1,2,3,4,np.nan]的平均值為(1+2+3+4)/4 = 2.5

同樣的,求某數(shù)組最大最小值時也有np.nanmax(), np.nanmin()函數(shù)來補充np.max(), np.min()的不足。

其他很多np的計算函數(shù)也可以通過在前邊加‘nan’來使用。

另外,

也可以直接將a中缺失值全部填充為0。

np.std(a, axis, dtype)

用法同np.mean()

在NCL中有直接求數(shù)據(jù)標準化的函數(shù)dim_standardize()

其實也就是一行的事,根據(jù)需要指定維度即可。

皮爾遜相關系數(shù):

相關可以說是氣象科研中最常用的方法之一了,numpy函數(shù)中的np.corrcoef(x, y)就可以實現(xiàn)相關計算。但是在這里我推薦scipy.stats中的函數(shù)來計算相關系數(shù):

這個函數(shù)缺點和有點都很明顯,優(yōu)點是可以直接返回相關系數(shù)R及其P值,這避免了我們進一步計算置信度。而缺點則是該函數(shù)只支持兩個一維數(shù)組的計算,也就是說當我們需要計算一個場和一個序列的相關時,我們需要循環(huán)來實現(xiàn)。

其中a[time,lat,lon],b[time]

(NCL中為regcoef()函數(shù))

同樣推薦Scipy庫中的stats.linregress(x,y)函數(shù):

slop: 回歸斜率

intercept:回歸截距

r_value: 相關系數(shù)

p_value: P值

std_err: 估計標準誤差

直接可以輸出P值,同樣省去了做置信度檢驗的過程,遺憾的是仍需同相關系數(shù)一樣循環(huán)計算。

python2.7將華氏溫度轉換為攝氏溫度,并產(chǎn)生一張0~300F與C的對照表,每隔20度輸出一次,要求使用列表存儲

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

python中的TempStr應用和溫度轉換

描述

溫度的刻畫有兩個不同體系:攝氏度(Celsius)和華氏度(Fahrenheit)。

請編寫程序將用戶輸入華氏度轉換為攝氏度,或將輸入的攝氏度轉換為華氏度。

轉換算法如下:(C表示攝氏度、F表示華氏度)

C = ( F - 32 ) / 1.8

F = C * 1.8 + 32

要求如下:

(1) 輸入輸出的攝氏度采用大寫字母C開頭,溫度可以是整數(shù)或小數(shù),如:C12.34指攝氏度12.34度;

(2) 輸入輸出的華氏度采用大寫字母F開頭,溫度可以是整數(shù)或小數(shù),如:F87.65指華氏度87.65度;

(3) 不考慮異常輸入的問題,輸出保留小數(shù)點后兩位;

(4) 使用input()獲得測試用例輸入時,不要增加提示字符串。

程序:

TempStr = input()

if TempStr[0] in ['F']:? ? #因為要求輸入輸出是大寫C或者F,所以針對第一位字符做判斷

C = (eval(TempStr[1:]) - 32)/1.8? ? #TempStr[1:]表示字符串除首字符外的所有字符。

print("C{:.2f}".format(C))? ? ?#采用{:.2f}將輸出數(shù)字變成兩位小數(shù)點表示時,即使數(shù)學上該輸出值是整數(shù),也會按照小數(shù)方式輸出,例如,轉換后溫度為10度,輸出為10.00;

elif TempStr[0] in ['C']:? ??

F = 1.8*eval(TempStr[1:]) + 32? ??

print("F{:.2f}".format(F))

else:

print()? ? ? #不輸入任何錯誤提示

Python寫溫度轉化

我們都知道,現(xiàn)在通用的溫度有2種,一種是 攝氏度 ,另一種是 華氏度 。

至于想要深入了解的小伙伴,給你們加上了鏈接:

攝氏度: 用符號 C表示,是世界上使用較為廣泛的 溫標 之一

網(wǎng)址:

華氏度: 符號 。華氏度 = 32+ 攝氏度 1.8

網(wǎng)址:

第一步: 先用input()輸入當時的溫度

第二步: 判斷輸入溫度的類型,如果是華氏度F的話,(可以大小寫)執(zhí)行計算:

攝氏度=(華氏度-32)/18

這里的 TempStr[-1] 是指最后一個字符串在F/f判斷是華氏度。 TempStr[0:-1] 取的是數(shù)值,用

eval() 函數(shù),使得這些數(shù)值可以被計算出來。從而使得該公式可以計算賦值給變量C。

print("轉換后的溫度是{:.2f}C".format(C)), {:.2f} ,這里.2是使結果保留2位小數(shù),f在.format(C)中展示,帶上單位C。就完成打印。

第三步: 華氏度轉成攝氏度

這是華氏度轉化攝氏度的,下面攝氏度轉化華氏度是同樣的方法。

以下是完整代碼:

一個程序還是包含著挺多知識的, 保留2位小數(shù),eval(),.format(),input(), 需要細看才好好理解。歡迎觀看~

編寫一個Python程序,循環(huán)輸入7天溫度,求平均溫度。

python3代碼如下:

把下面代碼里的井號改成空格

l = []

for i in range(1, 8):

##l.append(float(input('第%d天:' % i)))

print('平均溫度:', sum(l) / len(l))

本文名稱:python溫度梯度函數(shù),python 梯度計算
標題鏈接:http://muchs.cn/article28/hcjhjp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、品牌網(wǎng)站建設、定制開發(fā)服務器托管、商城網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化