本書主要介紹利用Python進行科學計算的方法,其內(nèi)容從基礎知識到實際開發(fā)應用,由淺入深,通俗易懂。每章均配有針對性的案例,供讀者實踐練習,提高讀者數(shù)據(jù)分析能力和實踐動手能力。本書的主要內(nèi)容包括Python開發(fā)的環(huán)境搭建,Python基礎,對文本文件、CSV文件、Excel文件、JSON文件的操作,訪問SQLite數(shù)據(jù)庫與MySQL數(shù)據(jù)庫,使用NumPy類庫、Pandas類庫、SciPy類庫進行科學計算,使用Matplotlib、Seaborn、pyecharts等類庫實現(xiàn)數(shù)據(jù)可視化。本書通過探索真實的鄭州二手房數(shù)據(jù)集,幫助讀者逐步掌握數(shù)據(jù)的采集、清洗、整理及分析計算,并結(jié)合數(shù)據(jù)可視化組件,實現(xiàn)數(shù)據(jù)圖表到可視化的轉(zhuǎn)換,進而提高讀者解決實際問題的能力。 本書既可以作為高等本科院校Python科學計算課程的教材,也可以作為應用型本科、高職高專院校相應課程的教材。
王英強,副教授。2003年4月—至今,任西安思源學院電子信息工程學院教師;2008年9月—2011年7月,就讀于西安電子科技大學,獲得工學碩士學位;1999年9月—2003年7月,就讀于太原科技大學計算機科學與技術專業(yè),獲得工學學士學位。參加的學術組織及任職:陜西省計算機學會會員。所承擔過的重點科研或教研項目及在項目中所承擔的工作:主持完成了2018年陜西省教育廳專項課題《大數(shù)據(jù)環(huán)境下西安市農(nóng)業(yè)統(tǒng)計數(shù)據(jù)采集分析平臺的研究》;支持完成了多項校級科研、教改項目;主持完成了《天然氣管道壓力數(shù)據(jù)自動采集系統(tǒng)》、《車機聯(lián)控系統(tǒng)》等多項橫向課題。個人或集體榮譽:2018年獲得西安思源學院建校二十周年青年英才獎;獲得多項軟件著作權(quán);多次畢業(yè)設計優(yōu)秀指導教師。教學成果獲獎情況、作品獲獎情況:《移動平臺下軟件開發(fā)教學的研究》獲得西安思源學院教學成果二等獎;《Android應用程序設計》獲得2018年陜西計算機學會優(yōu)秀教材一等獎。主要著作出版情況:《Android應用程序設計》清華大學出版社,2013.10月出版;《Android應用程序設計》(第二版)清華大學出版社,2016.12月出版。
目 錄
第1篇 數(shù)據(jù)獲取篇
第1章 概述 2
1.1 科學計算概述 2
1.2 Python概述 3
1.3 Python開發(fā)環(huán)境搭建 4
1.3.1 Python運行環(huán)境安裝 4
1.3.2 PyCharm安裝 8
1.4 Python科學計算與可視化常用類庫 13
1.4.1 Python科學計算與可視化常用類庫介紹 13
1.4.2 安裝第三方類庫 14
第2章 Python基礎 17
2.1 基本語法 17
2.1.1 基本數(shù)據(jù)類型 17
2.1.2 標識符 18
2.1.3 變量和賦值 18
2.1.4 運算符和表達式 19
2.1.5 代碼的嵌套與對齊 19
2.1.6 注釋 20
2.2 復雜數(shù)據(jù)類型 20
2.2.1 字符串 20
2.2.2 列表 24
2.2.3 元組 27
2.2.4 字典 29
2.3 流程控制 32
2.3.1 條件控制 32
2.3.2 循環(huán)控制 33
2.4 函數(shù) 35
2.4.1 函數(shù)的定義 35
2.4.2 lambda匿名函數(shù) 35
2.4.3 函數(shù)調(diào)用 36
2.5 類 37
2.5.1 面向?qū)ο蠡靖拍?37
2.5.2 類的定義及實現(xiàn) 37
2.6 文件操作 39
2.6.1 文件處理過程 39
2.6.2 數(shù)據(jù)的讀取 40
2.6.3 數(shù)據(jù)的寫入 41
第3章 讀/寫文件 43
3.1 讀/寫文本文件 43
3.1.1 讀/寫文本文件的方法介紹 43
3.1.2 讀/寫文本數(shù)據(jù)實例 44
3.2 讀/寫CSV文件 49
3.2.1 CSV類庫 49
3.2.2 讀/寫CSV文件數(shù)據(jù)實例 50
3.3 讀/寫Excel文件 54
3.3.1 Excel文件相關類庫 54
3.3.2 讀/寫Excel文件數(shù)據(jù)實例 56
3.4 讀/寫JSON文件 62
3.4.1 類庫方法介紹 62
3.4.2 讀/寫JSON文件數(shù)據(jù)實例 63
3.5 綜合實例 67
第4章 訪問數(shù)據(jù)庫 74
4.1 SQLite3數(shù)據(jù)庫數(shù)據(jù)的插入、修改及刪除 74
4.1.1 SQLite3模塊常用方法 74
4.1.2 SQLite3數(shù)據(jù)庫操作實例 75
4.2 SQLite3數(shù)據(jù)庫數(shù)據(jù)的查詢 80
4.3 MySQL數(shù)據(jù)庫操作類的實現(xiàn) 82
4.4 MySQL數(shù)據(jù)庫的訪問 87
第2篇 數(shù)據(jù)處理篇
第5章 NumPy數(shù)據(jù)處理 91
5.1 NumPy基礎 91
5.1.1 認識NumPy 91
5.1.2 創(chuàng)建NumPy數(shù)組 96
5.1.3 NumPy標準輸出 99
5.1.4 應用案例:二手房文本數(shù)據(jù)處理 100
5.2 NumPy數(shù)組操作 102
5.2.1 數(shù)組的基礎運算、形狀轉(zhuǎn)換 102
5.2.2 數(shù)組的形狀 105
5.2.3 數(shù)組的索引、切片 106
5.2.4 數(shù)組的遍歷 108
5.2.5 數(shù)組的副本與視圖 110
5.3 NumPy應用案例:鄭州市二手房數(shù)據(jù)統(tǒng)計及計算 113
第6章 Pandas科學計算 116
6.1 Pandas概述 116
6.1.1 Pandas簡介 116
6.1.2 Pandas在數(shù)據(jù)處理領域中的優(yōu)勢 117
6.2 Pandas數(shù)據(jù)結(jié)構(gòu) 117
6.2.1 Series 118
6.2.2 DataFrame 120
6.3 Pandas數(shù)據(jù)操作 124
6.3.1 Pandas文件操作 124
6.3.2 索引和數(shù)據(jù)選擇器 128
6.3.3 合并與連接 131
6.3.4 日期時間數(shù)據(jù)的處理 136
6.4 Pandas應用案例 142
6.4.1 分析鄭州市各區(qū)域的房屋均價 142
6.4.2 數(shù)據(jù)分析之GDP 144
第7章 SciPy科學計算 148
7.1 SciPy概述 148
7.2 SciPy科學方法 149
7.2.1 SciPy特殊函數(shù) 149
7.2.2 SciPy積分函數(shù) 150
7.2.3 插值函數(shù) 154
7.2.4 傅里葉變換 156
7.2.5 線性代數(shù) 158
7.3 SciPy應用案例:使用最小二乘法預測房價走勢 160
7.4 SciPy延展 163
第3篇 數(shù)據(jù)展示篇
第8章 數(shù)據(jù)可視化之Matplotlib 166
8.1 圖表的基本構(gòu)成元素 166
8.2 第一個Matplotlib繪圖程序 167
8.2.1 折線圖的繪制、存儲與顯示 167
8.2.2 折線圖的更多設置 168
8.2.3 設置中文字體 169
8.2.4 繪制多個圖形 170
8.2.5 使用子圖 172
8.3 繪制柱狀圖 173
8.4 繪制餅狀圖 174
8.5 繪制散點圖 175
8.6 綜合應用實例 176
8.6.1 鄭州市二手房各區(qū)域分布柱狀圖 176
8.6.2 鄭州市二手房房屋類型比例餅狀圖 178
8.6.3 鄭州市二手房地理位置分布圖 180
第9章 數(shù)據(jù)可視化之Seaborn 183
9.1 Seaborn簡介、安裝和使用 183
9.2 Seaborn的樣式繪制 185
9.3 直方圖和密度曲線圖 188
9.4 條形圖 189
9.5 散點圖 190
9.6 箱線圖 191
9.7 小提琴圖 193
9.8 綜合應用實例 194
9.8.1 繪制鄭州市二手房價格直方圖和密度曲線圖 194
9.8.2 繪制鄭州市二手房價格條形圖 195
第10章 數(shù)據(jù)可視化之pyecharts 197
10.1 pyecharts簡介、安裝和使用 197
10.2 pyecharts常用圖表 198
10.2.1 柱狀圖 198
10.2.2 折線圖 201
10.2.3 餅狀圖 204
10.2.4 詞云圖 204
10.2.5 雷達圖 205
10.3 綜合應用實例 206
10.3.1 繪制鄭州市二手房數(shù)量區(qū)域分布圖 206
10.3.2 繪制鄭州市二手房房屋類型比例圖 208
參考文獻 210