本書由高校教師與算法工程師合zuo編寫,兼顧理論與實踐,層次脈絡清晰,循序漸進地展開各個知識點,適合教學與自學。本書除了介紹Python程序設計方法與Python科學計算的工具包以外,還給出了數(shù)學建模的實戰(zhàn)案例(附帶原始數(shù)據(jù))。 本書既適合軟件開發(fā)人員閱讀,也適合作為高等院校計算機相關專業(yè)的師生在Python、科學計算、數(shù)學建模等方面的教材,還可以作為讀者自學Python的參考用書。
1.理論實踐相結(jié)合:由具有多年教學和數(shù)學建模競賽指導經(jīng)驗的高校教師與具有豐富實戰(zhàn)經(jīng)驗的算法工程師合力寫作而成。 2.輕松入門Python:從Python安裝到基本語法、函數(shù),精選有價值的Python內(nèi)容進行介紹。 3.科學計算 數(shù)學建模:從科學計算實戰(zhàn)到數(shù)學建模應用實例都有所介紹,帶你開啟數(shù)學建模的大門。 4.豐富的在線資源:提供源代碼文件和配套PPT文件。
尹永學,博士、大學教師。主要的研究方向有數(shù)值計算、機器學習、大數(shù)據(jù)分析等,具有豐富的數(shù)學與計算機相關課程教學經(jīng)驗及跨學科項目合zuo經(jīng)驗,所指導的學生曾多次獲得數(shù)學建模競賽國jia級獎項。 黃海濤(筆名零壹),算法工程師,CSDN博客專家,2018年度博客之星。曾先后參與開發(fā)多款人工智能產(chǎn)品,具有豐富的項目經(jīng)驗;精通數(shù)學建模,曾多次獲得國jia級競賽獎項。
第 1章 Python概述 1
1.1 Python語言發(fā)展史 1
1.2 Python語言特點 2
1.3 Python語言主要應用領域 4
1.4 本章練習 5
第 2章 開啟Python之旅 6
2.1 部署Python環(huán)境 6
2.1.1 Anaconda簡介 6
2.1.2 在Windows系統(tǒng)中安裝Anaconda 7
2.1.3 在Linux系統(tǒng)中安裝Anaconda 8
2.2 第 一個Python程序Hello,World 10
2.2.1 Hello, World的由來 10
2.2.2 實現(xiàn)Hello,World 11
2.3 使用Python的IDE 13
2.3.1 交互式解釋器Jupyter notebook 13
2.3.2 集成開發(fā)環(huán)境PyCharm 16
2.4 本章練習 16
第3章 輸入與輸出 17
3.1 注釋 17
3.1.1 單行注釋 17
3.1.2 多行注釋 18
3.2 輸入 18
3.3 格式化輸出 19
3.3.1 %操作符 19
3.3.2 format格式化字符串 21
3.4 本章練習 22
第4章 變量與運算符 23
4.1 變量 23
4.1.1 常量與變量 23
4.1.2 標識符 23
4.1.3 變量初始化 24
4.2 運算符 24
4.2.1 算術(shù)運算符 25
4.2.2 比較運算符 26
4.2.3 賦值運算符 26
4.2.4 邏輯運算符 27
4.2.5 位運算符 28
4.2.6 成員運算符 28
4.2.7 身份運算符 29
4.2.8 運算符優(yōu)先級 29
4.3 本章練習 30
第5章 數(shù)據(jù)類型與數(shù)據(jù)結(jié)構(gòu) 32
5.1 數(shù)據(jù)類型 32
5.1.1 數(shù) 32
5.1.2 字符串 35
5.2 數(shù)據(jù)結(jié)構(gòu) 36
5.2.1 列表 36
5.2.2 元組 38
5.2.3 字典 38
5.2.4 集合 40
5.3 本章練習 42
第6章 條件結(jié)構(gòu) 43
6.1 if語句 43
6.1.1 if形式 43
6.1.2 if-else形式 44
6.1.3 多分支選擇結(jié)構(gòu) 45
6.2 進階if嵌套與三元運算 46
6.2.1 if嵌套 46
6.2.2 三元運算 47
6.3 本章練習 48
第7章 循環(huán)結(jié)構(gòu) 49
7.1 循環(huán)語句 49
7.1.1 概述 49
7.1.2 while循環(huán)語句 49
7.1.3 for循環(huán)語句 51
7.1.4 循環(huán)嵌套 52
7.2 break、continue、pass 53
7.2.1 break 53
7.2.2 continue 54
7.2.3 pass 54
7.3 本章練習 55
第8章 函數(shù) 56
8.1 函數(shù)概述 56
8.2 函數(shù)的參數(shù) 57
8.2.1 形式參數(shù)和實際參數(shù) 57
8.2.2 形式參數(shù)設置 58
8.3 return語句 62
8.4 本章練習 63
第9章 模塊與異!64
9.1 模塊 64
9.1.1 概述 64
9.1.2 模塊的導入 65
9.2 異!67
9.2.1 錯誤 67
9.2.2 異常 67
9.2.3 異常捕獲與拋出 68
9.2.4 常見異!73
9.3 本章練習 75
第 10章 文件操作 76
10.1 文件的讀寫 76
10.1.1 概述 76
10.1.2 文件讀取 77
10.1.3 文件寫入 78
10.2 內(nèi)容獲取與文件指針 79
10.2.1 read、readline、readlines 79
10.2.2 文件指針 81
10.3 本章練習 83
第 11章 科學計算庫NumPy 84
11.1 NumPy簡介 84
11.1.1 初識NumPy 84
11.1.2 NumPy安裝 85
11.1.3 NumPy的數(shù)組屬性 85
11.1.4 NumPy的數(shù)組類型 86
11.2 NumPy創(chuàng)建數(shù)組 88
11.2.1 通過列表或元組轉(zhuǎn)化 88
11.2.2 數(shù)學基礎矩陣 89
11.2.3 NumPy構(gòu)建特殊數(shù)組 91
11.3 索引與切片 95
11.3.1 索引機制 95
11.3.2 切片機制 96
11.3.3 切片索引 97
11.3.4 布爾型索引 97
11.4 矩陣運算與線性代數(shù) 98
11.4.1 范數(shù)計算 99
11.4.2 求逆矩陣 100
11.4.3 求方程組的精確解 101
11.4.4 計算矩陣行列式 102
11.4.5 求解特征值與特征向量 102
11.4.6 奇異值分解 103
11.4.7 QR分解 104
11.4.8 線性方程組的最小二乘解 104
11.5 本章練習 106
第 12章 科學計算庫SciPy 107
12.1 SciPy簡介 107
12.2 SciPy應用 108
12.3 本章練習 116
第 13章 數(shù)據(jù)分析庫Pandas 117
13.1 Pandas中的數(shù)據(jù)結(jié)構(gòu) 117
13.1.1 數(shù)據(jù)結(jié)構(gòu) 117
13.1.2 Series 118
13.1.3 DataFrame 120
13.2 數(shù)據(jù)的選取 122
13.3 數(shù)據(jù)處理 125
13.3.1 缺失值刪除 126
13.3.2 缺失值填充 128
13.3.3 數(shù)據(jù)替換 130
13.3.4 標識、刪除重復行 132
13.4 統(tǒng)計函數(shù) 134
13.5 文件讀取 135
13.6 本章練習 136
第 14章 繪圖工具庫Matplotlib 137
14.1 初識Matplotlib 137
14.1.1 從MATLAB認識Matplotlib 137
14.1.2 從sin(x)認識Matplotlib 137
14.2 Matplotlib功能介紹 144
14.3 本章練習 146
第 15章 數(shù)學建模庫Scikit-Learn以回歸為例 147
15.1 Scikit-Learn實現(xiàn)一元線性回歸 147
15.1.1 一元線性回歸理論簡介 147
15.1.2 小數(shù)據(jù)的一元線性回歸 149
15.1.3 一元線性回歸分析糖尿病病情案例 152
15.2 Scikit-Learn實現(xiàn)多元線性回歸 157
15.2.1 多元線性回歸理論簡介 157
15.2.2 多元線性回歸實戰(zhàn) 158
15.3 多重共線性問題 160
15.4 本章練習 161
附錄 習題答案 162