導航:首頁 > 編程語言 > python處理ncep數據

python處理ncep數據

發布時間:2024-07-19 08:43:45

A. 如何使用python訪問ECMWF公共數據集

1.安裝ECMWF KEY

B. [Xarray] 1. 數據結構

參考 Xarray官方文檔 , Python氣象數據處理進階之Xarray(1):Xarray的數據結構

在Xarray中,數據是由結構和標簽的,分為以下幾種:

1.DataArray:

帶沖正有標注或命名維度的多維數組。DataArray將metadata(例如:維名稱,坐標和屬性)添加到基礎的 未標記 的數據結構,例如numpy和Dask數組。

2.Datasets:

具有類似字典結構的尺寸對其的DataArray對象的 集合 。因此,可以在單個DataArray的維度上執行的大多數操作都可以在Dataset上執行。

Dataset是多個DataArray的集合

3.Variable:

類似於NetCDF的變數。由dimensions,data和attributes組成。variable和numpy數組之間的主要功能鬧毀區別在於,對variable的數字運算可以通過 維名稱 實現數組廣播。

通俗的講,variables < DataArray < Dataset (<指包含於)。這種解釋不完全正確,但是初學者可以這樣理解。

Xarray通過對維命名的操作實現數據篩選和處理,實現數據的標記和命名通過以下幾個定液判備義實現:

* Dimension : 每一軸的維名稱(e.g.,('x','y','z'))。

* Coordinate : 坐標或刻度。類似於字典的序列,將每個點標記。比如說dimension是緯度,那麼對應的coordinate就是緯度坐標(90°N,89°N,88°N……89°S,90°S)。

* Index : 索引號,也可以說是位置標號。a[0]代表a數組的一個數,0就是index。

可以看到,該文件是一個Datasets,裡面含有變數:Data Variables,數據集的維度有經度緯度和時間,各自有各自的坐標Coordinates,同樣數據集還有一些屬性來表明數據集信息。

我們可以通過:

來分別查看數據集中包含的變數,維,坐標。

再比如NCEP的位勢高度資料:

基本同上。

需要說明的是,ncl數據中存在short格式,在讀取時需要使用short2flt()函數,但是在Python中不存在short格式,默認均為float,無需考慮這一點。

有時我們通過其他手段讀取了相關數據,但是數據是np.array格式的,我們需要將其轉換為DataArray,亦或我們需要輸出一個NC文件,需要將計算後的數組轉為DataArray格式,這就用到了創建的方法。

1.Data: 數據,可以是numpy ndarray,series,DataFrame,pandas.panel等格式

2.coords: 坐標列表或字典

如果是列表,則應為元組列表。其中第一個元素為dimension name,第二個元素是對應的坐標array_like對象。

用字典格式比較好

3.dims: 維名稱列表

如果省略,並且coords是元組列表,則維度名稱取自coords。

4.attrs: 屬性

5.names: 變數名

以上,除了data外,都不是必須的。

創建示例如下:

上面提到,除了data以外,其他都是不必要的

如果是從一個DataFrame數據轉化為DataArray的話(這種操作通常是為了將Pandas和Xarray聯合使用):

會自動識別行列的名稱和序號。

官方文檔還有更復雜的例子,需要的話再去官網查看。

在創建了數據之後,我們同樣可以使用相關的操作獲取DataArray的各種信息:

如果想對DataArray的值修改可以通過以下兩種方法:

兩種結果是等價的,但官方只給出了第一種方法。

*通過指令 foo.rename('temperature') 改名,比如通過hgt計算得到了一個新變數,需要改名,就可以用這個指令。

在得到一個DataArray後,用於畫圖時,比如我們需要獲取它的經度和緯度(在這里,剛剛的例子是時間和高度),那麼可以直接通過

這兩種方式取出坐標信息。

要修改或者刪除某坐標信息的話,原理和修改數據是一樣的:

官網給出一個以氣候數據為例的Dataset結構:

<center>

</center>

一個數據集,包含了數據主體(Temperature,Precipitation),維度坐標(latitude,longitude)。

根據官網的例子,一個Dataset是這樣創建的,實際上與DataArray類似:

實際上這個例子與我們通常接觸的不太一樣,因為大部分數據的lat和lon都是一維的。

對Dataset的操作和DataArray基本一致,不再重復。

閱讀全文

與python處理ncep數據相關的資料

熱點內容
霍格沃茨選什麼伺服器 瀏覽:654
大學加密貨幣投資 瀏覽:240
虛擬伺服器如何查路由器埠 瀏覽:236
ipad怎麼增加app拓展塢 瀏覽:254
安卓軟體開發公司如何選擇 瀏覽:664
大型解壓器怎麼做 瀏覽:173
如何保存網頁成PDF 瀏覽:488
linux怎麼編譯內核 瀏覽:432
solidworks入門pdf 瀏覽:819
中國工商銀行app如何看支行 瀏覽:433
wps弄照片到文件夾 瀏覽:463
大眾如何在線編程 瀏覽:787
ipad如何關閉app中的app 瀏覽:442
大腦認知pdf 瀏覽:441
程序員大方 瀏覽:794
怎樣加密微信聊天記錄簡單點 瀏覽:387
python數據類型狀態判斷 瀏覽:47
java文件打開對話框 瀏覽:824
pdf怎麼打勾 瀏覽:21
java資料庫insert 瀏覽:668