具体描述
內容簡介
本書在NCAR/NCEP的英文版《NCL用戶使用手冊》基礎上,同時結閤幾位作者多年豐富的科研和教學經驗,佐以切身的學習體驗和使用經驗及技巧加以精煉,配閤典型的科研實例循序漸進的係統全麵的介紹NCL圖形分析語言的關鍵內容和應用方法,以方便讀者快捷的掌握此科學分析和可視化工具,並運用於科研和業務實踐中。
本書以NCL圖形分析語言(版本6.4.0)的主要架構為主綫,將軟件安裝設置、科學數據處理、語言基礎、圖形基礎、可視化控製、科研實戰分析繪圖和高級繪圖分析七個方麵內容融會貫通,同時突齣重點和實際應用需求,讓讀者漸進式的快速掌握該語言的基本科學分析和可視化方法,並引導進階高級階段內容。全書內容係統全麵,層次邏輯清晰,重點遞進突齣,易學易懂易用。
本書可作為高等院校大氣科學類相關專業的本科和研究生階段專用的科學分析和可視化語言課程學習教材,也可以作為氣象、海洋、水文、航空等部門科研和業務人員的參考書籍。
目錄
前言
第1章 語言介紹
1.1 學習目的
1.1.1 瞭解NCL語言
1.1.2 其他可用的語言
1.2 有關文檔
1.3 示例程序腳本和數據
1.4 技術支持
1.5 程序安裝
1.5.1 Linux係統下安裝
1.5 I2MacOS係統下安裝
1.5.3 WindOWS係統的Unix虛擬機(Cygwin/X)下安裝
1.6 運行環境路徑設置
1.7 圖形環境設置
1.8 代碼編輯工具
1.8.1 常用代碼編輯器
1.8.2 高亮腳本定義
第2章 程序語言基礎
2.1 運行測試方式
2.2 輸入、輸齣數據和圖形文件支持
2.3 字符符號
2.4 數據類型和錶達式
2.4.1 數據類型
2.4.2 運算操作符
2.4.3 邏輯運算符
2.4.4 數組錶達式
2.5 變量
2.5.1 元數據和屬性
2.5.2 維數命名
2.5.3 字符串引用
2.5.4 變量列錶
2.6 變量賦值
2.6.1 數值賦值
2.6.2 變量間賦值
2.6.3 變量的重賦值
2.7 程序腳本結構
2.7.1 庫文件及其載入
2.7.2 程序塊
2.7.3 選擇語句
2.7.4 循環語句
2.7.5 數據和變量信息輸齣
2.7.6 保留關鍵詞
2.8 字符串操作
2.9 係統調用
2.10 功能函數和過程
2.10.1 可視化類
2.10.2 常規類
2.10.3 地球科學類
2.10.4 數學和統計類
2.10.5 輸入和輸齣類
第3章 數據文件的輸入和輸齣
3.1 單個文件的讀取方式
3.2 多個文件的讀取方式
3.3 文件變量對變量的賦值
3.4 文本(ASCII)數據文件讀取
3.5 電子錶格(Excel(2SV)數據文件讀取
3.6 二進製(binary)數據文件讀取
3.7 文本(ASCII)數據文件寫入
3.8 CSV數據文件寫入
3.9 二進製(binary)數據文件寫入
3.10 netCDF數據文件寫入
第4章 圖形分析基礎
4.1 五步法繪圖
4.2 視圖窗口(viewport)
4.3 地圖設置(maps)
4.3.1 默認地圖
4.3.2 地圖網格和標示的設置
4.3.3 地圖內容設置
4.3.4 改變地圖投影
4.3.5 區域地圖
4.3.6 極地投影地圖
4.3.7 地圖分辨率
4.4 簡單的雙坐標二維圖(xY-plots)
4.4.1 坐標軸標記設定
4.4.2 時間序列
4.5 等值綫圖(contoursplots)
4.5.1 填色圖
4.5.2 圖案填充圖
4.6 矢量圖(vectorplots)
4.7 剖麵圖(sliceplots)
4.8 直方圖(barcharts)
4.9 圖形疊加(overlayplots)
4.10 圖形展闆(panelplots)
4.10.1 常用控製參數項
4.10.2 圖形組閤設置
4.11 繪製摺綫、多邊形、多點標記和文本
4.12 輪廓文件繪圖(shapefileplots)
第5章 顔色錶和繪圖屬性資源
5.1 顔色錶(colormaps)
5.1.1 轉換GrADS顔色錶
5.1.2 轉換GMT顔色錶
5.2 有用的繪圖屬性資源(helpfulresources)
5.2.1 標題字符串和功能編碼
5.2.2 添加文本到圖形
5.2.3 特殊字符創建的功能代碼
5.2.4 坐標軸注釋
5.2.5 等值綫和標簽設置
5.2.6 陸地、海洋和湖泊的填色
5.2.7 標示條設置
5.2.8 圖例設置
5.2.9 坐標刻度標記設置
5.2.10 日期格式
第6章 實戰分析和繪圖
6.1 常規數據獲取
6.2 實戰分析I——基礎能力
6.2.1 站點數據處理
6.2.2 繪製中國地圖
6.2.3 站點分布圖
6.2.4 站點數據插值和區域濛版
6.3 實戰分析Ⅱ——氣候變化
6.3.1 模式數據介紹
6.3.2 模式數據的空間格點插值預處理
6.3.3 季節平均計算和水汽平衡方程分析
6.3.4 格點數據作圖
6.4 實戰分析Ⅲ——東亞夏季風降水
6.4.1 時空模態分析
6.4.2 主分量的功率譜分析
6.4.3 主分量的小波譜分析
第7章 圖形分析進階
7.1 水平柱狀圖(horizontalbarcharts)
7.2 箱綫圖(boxplots)
7.3 預報圖(meteograms)
7.4 餅圖(piecharts)
7.5 溫度對數壓力圖(skew-T)
7.5.1 繪製溫度對數壓力圖底圖
7.5.2 溫度對數壓力圖底圖上繪製探空數據
7.6 泰勒診斷圖(Taylordiagrams)
7.7 風玫瑰圖(windrose)
7.7.1 基本風玫瑰圖
7.7.2 粗綫風玫瑰圖
7.7.3 彩色風玫瑰圖
7.8 三維圖(3Dgraphics)
7.9 圖形濛(masking)
7.9.1 “mask”函數創建
7.9.2 “gc-inout”函數創建
7.9.3 圖形屬性資源設置創建
7.9.4 控製圖層的繪製順序創建
7.10 天氣符號(weathersymbols)繪製
參考文獻
附錄A 常見錯誤信息
附錄B 地圖投影類型
附錄C 綫型錶
附錄D 填充樣式錶
附錄E 標記符號錶
附錄F 重要的內建函數和過程
附錄G 重要的圖形屬性資源
《科學計算與數據可視化:基於Python的數據處理實踐》 圖書簡介 本書旨在為讀者提供一套全麵、深入且高度實用的科學計算與數據可視化技能,重點聚焦於使用當前業界最流行、功能最強大的Python生態係統,包括NumPy、Pandas、Matplotlib、Seaborn以及Scikit-learn等核心庫。本書不局限於單一的應用領域,而是通過大量的實際案例和項目驅動的學習方式,幫助讀者構建堅實的理論基礎和精湛的實踐能力,從而能夠高效地處理、分析和可視化復雜數據集。 第一部分:Python基礎與科學計算環境搭建 (奠定基石) 本部分首先為讀者快速梳理進行科學計算所需掌握的Python核心語法特性,包括麵嚮對象編程範式在數據結構中的應用、高效的函數式編程技巧,以及環境管理的重要性(如使用Anaconda和虛擬環境)。重點在於講解Python如何作為一種“膠水語言”與其他高性能計算庫無縫集成。 環境配置與Jupyter生態係統: 詳細指導如何安裝和配置Anaconda發行版,深入介紹Jupyter Notebook和JupyterLab的使用,包括Markdown格式化、代碼塊管理、交互式調試以及導齣為不同格式文檔的技巧。 高性能數值計算的基石——NumPy: 深入剖析NumPy的多維數組對象(`ndarray`)的底層結構、內存布局及其帶來的性能優勢。內容涵蓋數組的創建、索引、切片、維度操作(如`reshape`, `transpose`)、通用函數(ufuncs)的原理與應用,以及廣播(Broadcasting)機製的精確理解,這是後續所有高級計算的基礎。 綫性代數運算的實現: 係統介紹NumPy如何高效地實現綫性代數運算,包括嚮量和矩陣的乘法、矩陣分解(如LU、QR、SVD的計算)、特徵值與特徵嚮量的求解等,並結閤物理或工程問題進行初步的建模示例。 第二部分:數據管理與清洗的藝術 (數據準備) 在科學研究和數據分析中,數據的獲取、清洗和預處理往往占據瞭大部分時間。本部分將重點圍繞Pandas庫展開,教授如何將非結構化或半結構化的數據轉化為可供分析的結構化格式。 Pandas核心數據結構: 詳盡解析Series和DataFrame的設計哲學,重點區分它們與NumPy數組在功能和使用場景上的差異。學習高效的數據輸入輸齣,包括CSV、Excel、SQL數據庫以及JSON文件的讀寫操作。 數據清洗與轉換: 涵蓋缺失值(NaN)的處理策略,包括插補(Imputation)方法(如均值、中位數、模型預測插補)的選擇與實現;數據類型轉換、重復數據處理、字符串數據的高級操作(利用Pandas的`.str`訪問器)。 數據重塑與聚閤: 深入講解數據透視錶(Pivot Tables)的構建、多級索引(MultiIndex)的應用與管理。掌握`groupby()`操作的強大功能,包括分組計算、數據聚閤、轉換(Transformation)和過濾(Filtering)的復閤應用,實現復雜分組統計。 時間序列數據處理: 專門闢齣章節講解Pandas在處理時間序列數據方麵的優勢,包括日期時間索引的創建、頻率轉換、時間窗口計算(Rolling/Expanding windows)以及時間序列重采樣(Resampling)技術。 第三部分:數據可視化與洞察 (圖形化錶達) 數據可視化是將復雜數據轉化為直觀信息的最有效手段。本部分將重點介紹Matplotlib作為基礎繪圖庫的精髓,並擴展到更高級的統計可視化工具Seaborn。 Matplotlib基礎與定製化: 掌握Figure、Axes、Axis等核心對象的關係。學習繪製基礎圖形(綫圖、散點圖、柱狀圖、直方圖)的語法。深入講解圖形的定製化技巧,包括精細控製標題、標簽、圖例、顔色映射(Colormaps)以及文本注解,實現齣版級(Publication-Quality)的圖形輸齣。 高級Matplotlib技巧: 介紹次坐標軸、雙軸圖錶的繪製,子圖布局管理(如`subplot`, `GridSpec`),以及如何將圖形保存為高質量矢量或位圖格式。 基於統計的可視化——Seaborn: 講解Seaborn如何簡化復雜統計圖形的繪製過程。重點覆蓋探索性數據分析(EDA)中常用的圖形,如分布圖(`displot`, `kdeplot`)、關係圖(`scatterplot`, `pairplot`)、分類圖(`boxplot`, `violinplot`)和迴歸圖,並學習如何通過Hue、Size、Style參數增加維度信息。 交互式可視化簡介(可選延伸): 簡要介紹Bokeh或Plotly等庫,展示如何創建可交互的、嵌入網頁的數據可視化作品。 第四部分:統計建模與機器學習基礎 (應用實踐) 本部分將數據處理和可視化成果應用於實際的數據分析流程中,引入Scikit-learn庫,專注於從數據準備到模型評估的完整流程。 數據預處理在建模中的角色: 探討特徵工程的重要性,包括特徵縮放(標準化/歸一化)、獨熱編碼(One-Hot Encoding)與標簽編碼(Label Encoding)、多項式特徵的創建。 監督學習基礎: 介紹迴歸(如綫性迴歸)和分類(如邏輯迴歸、K近鄰)的基本概念和Scikit-learn中的實現流程。重點講解模型訓練、預測和性能評估指標(如$R^2$, MSE, 準確率, 召迴率, F1分數)。 模型選擇與調優: 講解交叉驗證(Cross-Validation)的重要性,介紹網格搜索(Grid Search)和隨機搜索(Randomized Search)等超參數調優方法,以優化模型性能。 降維技術簡介: 初步介紹主成分分析(PCA)的原理及其在數據可視化和特徵壓縮中的應用。 本書特色 本書強調“動手實踐”,每一個理論講解後都緊跟配套的Code Block和詳細的輸齣解釋。全書圍繞幾個貫穿始終的真實世界數據集(如氣候數據、金融市場數據、生物醫學數據集)進行案例分析,確保讀者所學知識能夠立即轉化為解決實際問題的能力。通過係統的學習,讀者將能夠獨立完成從數據采集到洞察提取的完整數據科學分析流程。