導航:首頁 > 編程語言 > 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數據相關的資料

熱點內容
php開發參考文獻 瀏覽:13
linuxmysql驅動安裝 瀏覽:19
android推薦書 瀏覽:590
加密裁判怎麼做 瀏覽:579
app更新怎麼選擇更新途徑 瀏覽:786
什麼叫專屬獨立伺服器 瀏覽:309
程序員學吉他的好處 瀏覽:708
重要的文件夾刪除了怎麼找回 瀏覽:372
ecshop源碼論壇 瀏覽:594
編譯原理DAG例子 瀏覽:165
光谷程序員的酒店 瀏覽:8
客戶端密碼存在文件夾哪個位置 瀏覽:380
怎麼把程序員的工作說的高大上 瀏覽:723
解壓包如何加密 瀏覽:158
蘋果app隱私報告怎麼關 瀏覽:668
單片機什麼程度能接項目 瀏覽:698
內核編譯小米5s 瀏覽:554
加密機可以接多少系統 瀏覽:904
python函數返回值返回元組 瀏覽:650
單片機按鍵代碼 瀏覽:720