python畫圖數據的平均值怎么算的_Python氣象數據處理與繪圖(2):常用數據計算方法...

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

按照氣象統計課程的內容,我給出了一些常用到的統計方法的對應函數:

import numpy as np

平均值

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

numpy.mean(a, axis, dtype)

假設a為[time,lat,lon]的數據,那么

·axis 不設置值,對 timelatlon 個值求均值,返回一個數

·axis = 0:壓縮時間維,對每一個經緯點求均值,返回 [lat, lon] 數組(如求一個場的N年氣候態)

·axis =1,2 :壓經度緯度,對每個時間求平均值,返回 [time] 矩陣(如求某時間序列,或指數)

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

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

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

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

另外,

a[np.isnan(a)] = 0

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

標準差

np.std(a, axis, dtype)

用法同np.mean()

標準化

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

我目前并未找到python中可以直接求數據標準化的函數(sklearn庫中有標準化,但感覺不如公式直接計算方便)。根據公式,

be28d2073436

x = (x - np.mean(x)) / np.std(x)

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

相關系數

皮爾遜相關系數:

be28d2073436

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

from scipy.stats import pearsonr

r,p = pearsonr(x, y)

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

r = np.zeros((a.shape[1],a.shape[2]))

p = np.zeros((a.shape[1],a.shape[2]))

for i in range(sic.shape[1]):

for j in range(sic.shape[2]):

r[i,j], p[i,j] = pearsonr(b , a[:,i,j])

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

線性回歸系數

(NCL中為regcoef()函數)

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

slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)

slop: 回歸斜率

intercept:回歸截距

r_value: 相關系數

p_value: P值

std_err: 估計標準誤差

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258840.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258840.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258840.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux下nginx安裝與配置

部分Linux發布版的默認安裝已經集成了nginx,查看方法ls /usr/local,若已有nginx文件夾說明已集成。nginx依賴庫pcre與zlib,且pcre依賴于gcc與gcc-c,因此安裝步驟為:安裝gcc與gcc-c庫安裝pcre庫安裝zlib庫安裝nginx詳細…

java 讀取properties文件

1.不在項目中讀取 Properties properties new Properties();BufferedReader read new BufferedReader(new InputStreamReader(new FileInputStream("文件的路徑"),"utf-8"));properties.load(read);properties .getProperty("那個文件的key") …

幾種字符串加密解密的方法

為什么80%的碼農都做不了架構師?>>> 第一種:〔 Python 與 Bash Shell 的結合 〕 這個命令會讓你輸入一個字符串,然后會再輸出一串加密了的數字。 加密代碼[照直輸入]: python -c print reduce(lambda a,b: a*256ord(b), raw_inpu…

java delegate怎么寫_美團面試官:你說你們公司的Mybatis分頁插件是你寫的,給我說說它的設計原理?...

來源:http://my.oschina.net/zudajun大多數框架,都支持插件,用戶可通過編寫插件來自行擴展功能,Mybatis也不例外。我們從插件配置、插件編寫、插件運行原理、插件注冊與執行攔截的時機、初始化插件、分頁插件的原理等六個方面展開…

C++標準庫與Java基礎類對照表

一、集合類對象的集合,指如鏈表,數組,隊列這一類的數據結構。在C標準庫中把這些成為Container, 在Java中稱為Collection。CSTL常用Container: vector, list, map, set, queue, stack, priority_queueJava基礎類:ArrayL…

ASP.NET MVC 在控制器中獲取某個視圖動態的HTML代碼

如果我們需要動態的用AJAX從服務器端獲取HTML代碼,拼接字符串是一種不好的方式,所以我們將HTML代碼寫在cshtml文件中,然后通過代碼傳入model,動態獲取cshtml中的HTML代碼 當然,我們想要使用通用的方法去獲取cshtml&…

SharePoint 2013 處理videoplayerpage.aspx下的個人圖片顯示有誤問題

問題:Personal sites photo cant correct display in the videos pageThe url address of personal sites photo is exist surplus characters. The correct situation is just the characters of "%20", not the characters of "%2520".解決方…

Python學習筆記(一)

1.python語言的優點:(1)是一種高級語言,提供大量的庫和內置數據結構(2)書寫簡潔優美 缺點:是解釋性語言,執行速度較慢 2.從官方網站下載的python解釋器為CPython,是一種用C語言編寫的python解釋器。在命令行如果啟動python3,輸入p…

匯編語言基本概念匯總

匯編語言應該是我們如今學的最“低級”的語言了,由于如今不會再有人去學機器語言了。而匯編語言還在一些硬件或者嵌入式設備上使用并開發著。下面資料是為了大學的匯編考試整理的資料,如今與大家分享,希望能給大家提供幫助。 匯編語言程序設計…

MySQL找出鎖等待

1.服務器級別的鎖等待可以通過show processlist看到等待鎖的線程id,但是無法知道究竟哪個線程持有鎖可以通過mysqladmin debug相關等待鎖的線程以及誰持有鎖可以在錯誤日志中找到2.存儲引擎層的鎖等待則比較麻煩,以下是innodb存儲引擎中鎖等待以及哪個線…

C++給函數傳數組參數C++給函數傳數組參數

C給函數傳數組參數 在C中&#xff0c;如果要給一個函數傳入一個數組&#xff0c;一般都是傳入兩個參數一個數組指針和一個數組大小 例&#xff1a; void print_1 (int n, int *datas ) { for (int i 0; i < n; i) { std::cout << datas[i] <<…

clover引導mbr安裝黑蘋果_安裝黑蘋果記錄(一)

從來沒有接觸過macOS(蘋果系統)&#xff0c;孩子說他用的那臺電腦linux不能安裝一些軟件&#xff0c;問我能不能安裝黑蘋果&#xff0c;一些軟件只有win和mac的客戶端&#xff0c;卻沒有linux版本。他知道我不會給他安裝Windows&#xff0c;一個是怕他玩游戲&#xff0c;另外一…

人口變動的經濟分析

佳木斯市人口變動的經濟分析上 人口生產和物質生產&#xff0c;是有史以來人類社會同時存在和同步發展的兩種生產&#xff0c;一切經濟變動都與人口變動有直接或間接的關系&#xff0c;而一切人口變動又可以從經濟變動中找到原因。為此&#xff0c;本文試根據我國、我省和我市第…

【javascript】操作符:一元操作符

一、一元操作符 <script>// var num1,num2,num3; num11;num22; alert(num1num2);//4 在前 alert(num1num2);//4 num11; alert(num1--num2);//3 num1NaN; alert(num1num2);//NaN num1true; alert(num1num2);//3 true轉化成了1 num1fal…

doxygen問題集錦

使用doxygen排版數學公式出錯的解決方法 參考&#xff1a;http://blog.csdn.net/huangbo10/article/details/46801949 問題 今天玩了一下doxygen&#xff0c;碰到一個問題 ! Undefined control sequence. l.77 $ y_{\mbox{test}} \mathbb{E}[y_{\mbox{train}}] x $ ? !…

ubuntu中make頭文件找不到_和平精英:游戲中找不到人怎么辦?這些技巧幫你練出“火眼金睛”...

大家好&#xff0c;歡迎來到《刺激實戰教室》&#xff0c;我是你們的老朋友刺激哥。俗話說&#xff0c;電子競技不需要視力&#xff0c;而這句話也是《和平精英》的一個“痛點”。在《和平精英》這款游戲中&#xff0c;更是如此。在很多時候&#xff0c;敵人就藏在我們的附近&a…

[CDA數據分析師學習之路] 【CDA就業班獨家發布】學習之路

http://bbs.pinggu.org/thread-4677737-1-1.html轉載于:https://blog.51cto.com/xbh1314/1923452

jdk8永久代從方法區移除的驗證

/*** 測試使用jdk8中是否仍然可以使用永久代* jvm options * -Xms20m -Xmx20m -Xmn10m -XX:PermSize10m -XX:MaxPermSize10m -XX:PrintGCDetails* * 結果運行提示&#xff1a;* Java HotSpot(TM) Client VM warning: ignoring option PermSize10m; support was removed in 8.0*…

eureka配置_F版本SpringCloud 5—Eureka集群和自我保護機制

源碼地址&#xff1a;https://gitee.com/bingqilinpeishenme/Java-Tutorials前言上篇文章中&#xff0c;通過代碼搭建了Eureka注冊中心和客戶端&#xff0c;是Eureka的簡單應用&#xff0c;在本文中將會講解更多關于Eureka服務端的應用以及原理。Eureka 自我保護機制進入自我保…

windows共享內存

在windows編程中避免不了使用共享內存&#xff0c;因為他是進程間通信、文件讀取最簡單的方式&#xff0c;有書上還說其他進程間通訊機制如管、油槽、WM_COPYDATA底層也是用的共享內存機制。關于使用方法還是請參考MSDN。 最近聽說使用共享內存不安全&#xff0c;可能會被其他進…