Python氣象數據處理與繪圖基礎(簡體書)
石門水庫阿姆坪防洪防淤工程可行性規劃地質調查專題成果報告(含1光碟電子書)
經濟部水利署北區水資源局經管國有公用不動產清查及被占用現況調查
有朝一日,安然長眠
美國棒球(三)
Humankind and Humanity in the Philosophy of the Enlightenment:From Locke to Kant
Vague集理論研究及其應用(簡體書)
深度學習應用與實踐(簡體書)
Handbook of Anticancer Drugs from Marine Origin
剩食
春草年年綠:你不能不知道的安寧緩和醫療

TOP
5
0
購書領優惠,滿額享折扣!
Python氣象數據處理與繪圖基礎(簡體書)
79折
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)
Python氣象數據處理與繪圖基礎(簡體書)

Python氣象數據處理與繪圖基礎(簡體書)

商品資訊

人民幣定價:59 元
定價
:NT$ 354 元
優惠價
79279
促銷優惠
簡體新到貨
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:8 點
商品簡介
目次
書摘/試閱
相關商品

商品簡介

《Python氣象數據處理與繪圖基礎》以氣象數據處理等相關問題的分析過程為引導,以Python作為實現工具,介紹了程序設計的基礎知識和數據處理及繪圖相關的基本編程技術。《Python氣象數據處理與繪圖基礎》詳細介紹了程序設計概述、Python的發展歷程和前景、Python的安裝步驟、變量和數據類型、順序結構的設計、選擇結構的設計、循環結構的設計、函數與數組、文件、繪圖基礎等。

目次

目錄
第1章 程序設計概述 1
1.1 程序設計的基礎 1
1.1.1 程序設計的概念 1
1.1.2 算法及流程圖 2
1.1.3 程序設計的方法 3
1.2 Python語言 4
1.2.1 Python的誕生及發展 4
1.2.2 為什麼選擇Python 5
1.3 Python的安裝調試 5
1.4 習題 7
第2章 數據描述 8
2.1 數據類型 8
2.1.1 數值類型 8
2.1.2 字符串 11
2.1.3 邏輯值 14
2.1.4 空值類型(None Type) 15
2.2 變量及引用 15
2.2.1 命名數據 15
2.2.2 名字和變量 16
2.2.3 賦值語句 16
2.3 表達式 16
2.3.1 算術表達式 16
2.3.2 關係表達式 17
2.3.3 邏輯表達式 17
2.4 Python的輸入和輸出 18
2.4.1 輸入 18
2.4.2 輸出 19
2.5 習題 21
第3章 結構程序設計 22
3.1 順序結構設計 22
3.2 選擇結構設計 23
3.2.1 if結構 23
3.2.2 單分支塊if結構 24
3.2.3 雙分支塊if結構 25
3.2.4 多分支塊if結構 25
3.2.5 if-else結構的簡寫 29
3.3 循環結構設計 30
3.3.1 用for語句實現循環 31
3.3.2 用while語句實現循環 33
3.3.3 循環流程控制語句 34
3.3.4 無限循環 37
3.4 嵌套結構設計 39
3.4.1 選擇嵌套 40
3.4.2 循環嵌套 41
3.4.3 混合嵌套 43
3.5 習題 44
第4章 函數與數組 45
4.1 內置結構 45
4.1.1 序列 45
4.1.2 列表和元組 46
4.1.3 Python函數range() 51
4.1.4 字典 52
4.1.5 集合 54
4.2 函數 55
4.2.1 內置函數 55
4.2.2 自定義函數 56
4.2.3 自定義函數的調用和參數傳遞 57
4.2.4 遞歸函數 58
4.2.5 變量的作用域 59
4.2.6 模塊 60
4.3 NumPy 62
4.3.1 NumPy的調試及N維數組物件ndarray 62
4.3.2 NumPy的數據類型 63
4.3.3 數組的創建 65
4.3.4 數組索引和切片 68
4.3.5 數組查詢及操作 70
4.3.6 數組的計算 75
4.3.7 數組內部的操作 77
4.3.8 NumPy的讀寫 81
4.3.9 其他函數 85
4.4 習題 85
第5章 文件 87
5.1 文件的打開與關閉 87
5.1.1 open()函數 87
5.1.2 file物件的屬性 89
5.1.3 close()方法 91
5.2 文件的讀寫 92
5.2.1 read()方法 92
5.2.2 write()方法 94
5.2.3 字符編碼 95
5.3 操作文件和目錄 96
5.3.1 os模塊 96
5.3.2 環境變量 98
5.3.3 操作文件和目錄 98
5.4 各類氣象數據文件 100
5.4.1 有格式文件 100
5.4.2 二進制文件 103
5.4.3 自帶數據描述的文件(nc) 105
5.4.4 HDF數據 110
5.4.5 雷達數據 114
5.4.6 GRIB數據 115
5.5 習題 116
第6章 繪圖基礎 117
6.1 查看和調用 117
6.2 基本繪圖函數 117
6.3 基本圖形繪制 120
6.4 圖像的處理 139
6.5 習題 141
附錄一 Python內置函數 143
附錄二 常用文件的讀取函數 146
附錄三 氣象常用數據處理函數 147
附錄四 氣象常用的繪圖函數 150
附錄五 參考資源 154

書摘/試閱

第1章 程序設計概述
當前社會,從大型計算服務器到臺式機、筆記本計算機,再到各種智能移動設備,計算機涉及我們的生活方方面面。在此基礎上的軟件開發,正改變著我們的衣食住行(如購物、餐飲、商旅出行等)和學習工作的方式(思想的傳遞、電子圖書、智能機器人等),而大氣和海洋科學面對著龐大資料及對資料處理所涉及的大量數學計算,其背後都隱藏著程序的影子。本章將介紹程序設計的概念、為什麼選擇Python、Python的發展歷史及Python的安裝調試。
1.1 程序設計的基礎
在學習程序語言之前,需要了解程序設計的一些基礎知識,包括程序設計、算法的概念,算法的描述及程序設計的方法。
1.1.1 程序設計的概念
程序是對解決某個實際問題所采取的一系列方法和步驟的描述,從計算機的角度而言,程序是使用某種計算機能夠理解並執行的語言來描述解決問題的方法和步驟。程序是人和計算機對話的語言,人通過程序下命令,由計算機完成命令,計算機再以文字、圖像、聲音、動畫等形式向人反饋所執行命令的結果,如起床鬧鈴、照片美化、氣象上的數值模式等。一個程序基本由兩部分組成:一是描述問題中每個物件和物件之間的關係;二是描述對這些物件進行處理的規則。前者即數據結構的內容,後者則是問題求解的算法。
算法+數據結構=程序 (瑞士,尼克勞斯 沃斯教授)
程序設計反映的是利用計算機解決問題的全過程。程序僅是其中的一方面,還包括問題的分析、數學模型的建立、數據的組織方式、算法、語言的選擇、程序的編譯調試運行、分析產生的預期結果。
算法是對數據運算過程的描述,數據結構是指數據的組織存儲方式。程序設計的實質是針對待解決的實際問題選擇一種好的數據結構,並設計一個好的算法。而好的算法在很大程度上取決於描述問題的數據結構。
1.1.2 算法及流程圖
1. 算法的概念
算法是指解決問題的方法和步驟。如果用計算機解決數值計算,那麼科學計算中的數值積分、線性方程組求解等數學問題的計算方法就是數值計算的算法;計算機用於文字處理、圖形圖像處理等非數學問題,排序、分類、查找的方法就是非數值計算的算法。
例1-1 輸入10個數,要求找出其中的**數。
(1)輸入一個數,將其存放在變量max中;
(2)用i來統計比較的次數,其初值設為1;
(3)若i≤9,執行第(4)步,否則執行第(8)步;
(4)輸入一個數,放在x中;
(5)比較max和x中的數,若x>max,則將x的值賦給max,否則,max的值不變;
(6)i值增加1;
(7)放回到第(3)步;
(8)輸出max中的數,此時max中的數就是10個數中的**數。
由例1-1可以看出,算法是解決問題的方法和步驟的精確描述,它是由一系列基本操作組成的。因此,研究算法的目的就是研究怎樣把問題的求解過程分解為一些基本的操作。算法設計好後,要注意檢查其正確性和完整性,再用某種高級語言編寫相應的程序。
算法具有5個特性:有窮性,算法中執行的步驟總是有限次數的,不能無止境地執行下去;確定性,算法中的每一步操作必須具有確切的含義,不能有二義性;有效性,每步操作必須是可執行的;要有數據的輸入;要有結果的輸出,否則沒有實際意義。
程序除滿足5個特性外,還有一個質量問題要考慮。設計高質量算法是設計高質量程序的基本前提。目前,評價算法質量有4個基本標準:正確性、可讀性、通用性和高效率。而算法的效率可從時間和空間兩方面進行度量。
2. 流程圖
算法的描述除例1-1中采用的自然語言外,還有其他的描述工具:流程圖、N-S圖和偽代碼等。
流程圖也稱為框圖,它是使用一些集合框圖、流程線和文字說明來表示各種類型的操作。一般用矩形框表示進行某種處理,用平行四邊形框表示輸入、輸出,用菱形框表示判斷,用帶箭頭的流程線表示操作的先後順序。
例1-2 用流程圖來描述例1-1(圖1-1)。
圖1-1 流程圖示例
1.1.3 程序設計的方法
隨著計算機技術的快速發展,對程序設計方法的研究也在不斷深入。當前,良好的結構是程序的第一要求,即結構清晰、易於閱讀和理解、便於驗證。因此,結構化程序設計應運而生,通過在實踐中不斷地發展和完善,其已成為軟件開發的重要方法。用這種方法設計的程序,結構清晰、易於閱讀和理解、便於調試和維護。
結構化程序設計采用自頂向下、逐步求精和模塊化的分析方法,從而可有效地將復雜的程序分解成許多易於控制和處理的子程序,便於開發和維護。
隨著計算機性能的提升和用戶圖形界面的推廣,應用軟件的規模持續高速增長,於是面向物件的程序設計方法在軟件開發領域引起了一場大的變革。
面向物件的程序設計以物件作為程序的主體。物件是數據和操作的“封裝體”,封裝在物件內的程序通過消息來驅動運行,物件的實現和使用是獨立的。在用戶界面上,消息可通過鍵盤或鼠標的某種操作來傳遞。面向物件的程序設計可用類、物件的概念直接對客觀世界進行模擬,客觀世界中存在的事物、事物所具有的屬性、事物間的聯系均可以在面向物件的程序設計語言中找到相應的實現機制。它符合人們認識事物的規律,使人機交互更加貼近自然語言。
1.2 Python語言
1.2.1 Python的誕生及發展
Python譯為“蟒蛇”,其創立者為Guido van Rassum(圖1-2)。目前,Python語言的擁有者是Python Software Foundation(PSF),PSF是非營利組織,致力於保護Python語言的開放、開源和發展。
圖1-2 Guido van Rossum(a)和Python圖標(b)
Guido希望有一種語言,這種語言既能夠像C語言那樣,可以全面調用計算機的功能接口,又可以像Shell那樣,能夠輕松地編程。ABC語言讓Guido看到了希望。1989年,為了打發聖誕節假期,Guido開始寫Python語言的編譯/解釋器。Python來自Guido所摯愛的電視劇Monty Python's Flying Circus。他希望這種新的叫作Python的語言,能實現他的理念(一種同時具備C和Shell的優勢,且功能全面、易學易用、可拓展的語言)。
1991年,第一個Python編譯器(同時也是解釋器)誕生。它是用C語言實現的,並能夠調用C語言的庫(.so文件)。從一出生,Python已經具有了類(class)、函數(function)、異常處理(exception),並包括表(list)和詞典(dictionary)在內的核心數據類型及以模塊(module)為基礎的拓展系統。
Python從一開始就特別在意可拓展性(extensibility)。Python可以在多個層次上拓展。在高層,可以引入.py文件。在底層,可以引用C語言的庫。Python程序員可以快速地使用Python寫.py文件並以此作為拓展模塊。Python就好像是使用鋼構建房一樣,先規定好大的框架,而程序員可以在此框架下相當自由地拓展或更改,這一特征吸引了廣大的程序員。隨後的近30年,Windows的發展和Internet的流行,使計算機快速深入我們的生活和工作,因而Python也獲得了更加高速的發展。
到今天,Python的框架已經確立。Python語言以物件為核心組織代碼(everything is object),支持多種編程範式(multi-paradigm),采用動態類型(dynamic typing)自動進行內存回收(garbage collection)。Python支持解釋運行(interpret),並能調用C語言的庫進行拓展。Python有強大的標準庫 (battery included)。由於標準庫的體系已經穩定,所以Python的生態系統開始拓展到第三方包。這些包如Django、web.py、wxpython、NumPy、Matplotlib、PIL,這將Python升級成了物種豐富的熱帶雨林。
Python崇尚優美、清晰、簡單,是一種優秀並廣泛使用的語言。2008年,Python進入3.0時代,當前,Python3.x系類已經成為主流。與此同時,Python的性能依然值得改進,它仍然是一個發展中的語言,期待看到Python的未來。
1.2.2 為什麼選擇Python
當前,計算機高級語言有很多種,可將其分為兩類:編譯型語言(靜態語言)如C、C++、Fortran、Python等;解釋型語言(腳本語言)如BASIC、PHP、Python等。Python是解釋編譯型語言,其具有如下幾方面的特點:通用語言、腳本語言、開源語言、跨平臺語言、多模型語言,是目前*流行的十大計算機語言之一,且排名在不斷上升;Python的語法簡潔,極大地提高了生產效率;其代碼的可讀性高;軟件開源,其傳播和分享度很高;可應用領域很廣(科學計算、大數據、人工智能、大型網站、圖像多媒體、系統文件等)。隨著Python的快速發展,其在大氣和海洋的科學研究領域中的應用也越來越廣泛。
1.3 Python的安裝調試
運行Python程序需要相應編譯/解釋系統的支持。Python在Windows、Linux、Mac OS操作平臺下均可安裝運行。讀者可在Python的官方網站獲取不同操作系統下的安裝包。在Windows系統平臺下安裝Python的方式和其他Windows程序的安裝類似,依照安裝向導的提示進行即可。
Python的編譯環境有很多,如Python自帶的集成開發環境Shell-IDLE、由JetBrains公司打造的一款集成開發環境PyCharm、針對科學計算設計的多合一安裝包Anaconda等。Anaconda是一款開源免費的多合一安裝包,支持近千個第三方庫,其中包含多個主流工具(如Orange),適合數據計算領域的開發應用。
Anaconda可以稱為Python的神器,它使得各種基礎庫的安裝、Windows下環境變量的設置都變得極其簡單。到Anaconda的首頁https:,依據操作平臺下載Anaconda安裝包。Windows平臺下Anaconda的安裝和其他程序的安裝過程類似,根據安裝向導提示進行安裝即可。
Anaconda包括conda、Python及一批第三方庫,可通過conda這個管理工具進行安裝、更新、版本查詢等操作。例如,在Windows平臺下,在cmd中執行conda version可獲取conda版本信息;執行conda update conda可升級conda的版本;pip install、conda install命令可以快速地在命令窗口進行庫的安裝;也可通過Anaconda Navigator進行相應的操作。其中編程工具為Spyder及其包含的交互式編程環境:IPython可在隨後的學習使用中不斷了解(圖1-3)。
圖1-3 Anaconda界面下的Spyder(a)和Navigator(b)操作窗口示意圖
1. Python的命令運行
在Windows系統下,打開cmd.exe,在命令行輸入:
>python
將直接進入python。然後在命令行提示符>>>後面輸入:
>>>print('Hello World!')
可以看到,在屏幕上輸出:
Hello World!

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:79 279
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區