Python 科學計算和數據科學應用 : 使用 NumPy、SciPy 和 matplo, 2/e Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib Robert Johansson

[美]羅伯特·約翰遜(Robert Johansson) 著,黃強 譯

  • Python 科學計算和數據科學應用 : 使用 NumPy、SciPy 和 matplo, 2/e-preview-1
  • Python 科學計算和數據科學應用 : 使用 NumPy、SciPy 和 matplo, 2/e-preview-2
  • Python 科學計算和數據科學應用 : 使用 NumPy、SciPy 和 matplo, 2/e-preview-3
Python 科學計算和數據科學應用 : 使用 NumPy、SciPy 和 matplo, 2/e-preview-1

買這商品的人也買了...

商品描述

《Python科學計算和數據科學應用(第2版) 使用NumPy、SciPy和matplotlib》
全面介紹Python在數值計算和數學領域的模塊、標準庫以及多個開源Python庫,
如NumPy、SciPy、FiPy、matplotlib等。在上一版的基礎上,本書做了全面修訂,
更新了每個包的更新細節以及Jupyter項目的變化,演示了數值計算和數學建模在大數據、
雲計算、金融工程、商業管理等領域的應用。

本書提供了Python在數據科學和統計分析中很多新的應用示例,對上一版中的示例進行了擴展,
每個示例都充分展示了Python的簡潔語法及其數據分析方法在快速開發和探索性計算方面的強大功能。
  
通過閱讀本書,讀者將熟悉很多計算技術,包括基於數組的計算和符號計算、
數據可視化和數值文件讀寫、方程求解、優化、插值和積分以及特定領域的計算問題,
如微分方程求解、數據分析、統計建模和機器學習等。

作者簡介

作者簡介

Robert Johansson

是一位經驗豐富的Python程序員和計算科學家,他擁有瑞典查爾斯理工大學理論物理學博士學位。
他在學術界和工業界從事科學計算工作超過10年,既參與過開源項目的開發,也做過專有性研究項目的開發。
在開源領域,他為QuTip項目做出了很多貢獻,QuTip項目是一個很流行的用於模擬量子系統動力學的Python框架,
他還為科學計算領域的其他幾個Python庫做出過貢獻。
Robert對科學計算和軟件開發充滿熱情,並熱衷於傳授和交流這方面的最佳實踐,
以便能在這些領域取得最好的成果:新穎的、可重現的、可擴展的計算結果。
Robert在理論物理和計算物理領域有5年的研究背景,目前他是IT行業的數據科學家。

譯者簡介

黃強

本科和碩士分別畢業於中山大學和中國科學院研究生院,目前在一家國有銀行從事信息科技方面的工作。
對信息技術的前沿發展及應用有著濃厚的興趣,包括雲計算、人工智能、金融科技等,翻譯過多本技術專著。

目錄大綱

目錄
第1章科學計算介紹 1
1.1 Python數值計算環境 3
1.2 Python 4
1.3 IPython控制台 5
1.3.1 輸入輸出緩存 6
1.3.2 自動補全和對象自省(Object Introspection) 6
1.3.3 文檔 7
1.3.4 與系統shell進行交互 7
1.3.5 IPython擴展 8
1.4 Jupyter 13
1.4.1 Jupyter QtConsole 13
1.4.2 Jupyter Notebook 14
1.4.3 Jupyter Lab 16
1.4.4 單元類型16
1.4.5 編輯單元17
1.4.6 Markdown單元18
1.4.7 輸出顯示19
1.4.8 nbconvert 22
1.5 Spyder集成開發環境24
1.5.1 源代碼編輯器25
1.5.2 Spyder控制台26
1.5.3 對象查看器26
1.6 本章小結26
1.7 擴展閱讀27
1.8 參考文獻27

第2章向量、矩陣和多維數組29
2.1 導入模塊30
2.2 NumPy Array對象30
2.2.1 數據類型31
2.2.2 內存中數組數據的順序33
2.3 創建數組34
2.3.1 從列表和其他類數組對象創建數組35
2.3.2 以常量填充的數組35
2.3.3 以增量序列填充的數組36
2.3.4 以等比數列填充的數組37
2.3.5 Meshgrid數組37
2.3.6 創建未初始化的數組38
2.3.7 使用其他數組的屬性創建數組38
2.3.8 創建矩陣數組38
2.4 索引和切片39
2.4.1 一維數組39
2.4.2 多維數組41
2.4.3 視圖42
2.4.4 花式索引和布爾索引43
2.5 調整形狀和大小45
2.6 向量化表達式48
2.6.1 算術運算49
2.6.2 逐個元素進行操作的函數52
2.6.3 聚合函數54
2.6.4 布爾數組和條件表達式56
2.6.5 集合運算59
2.6.6 數組運算60
2.7 矩陣和向量運算61
2.8 本章小結66
2.9 擴展閱讀66
2.10 參考文獻66

第3章符號計算67
3.1 導入SymPy 67
3.2 符號68
3.3 表達式74
3.4 表達式操作76
3.4.1 化簡76
3.4.2 展開77
3.4.3 因式分解、合併同類項78
3.4.4 分式分解、通分、消除公因子79
3.4.5 替換79
3.5 數值計算80
3.6 微積分81
3.6.1 導數81
3.6.2 積分83
3.6.3 級數展開85
3.6.4 極限86
3.6.5 和與積87
3.7 方程88
3.8 線性代數89
3.9 本章小結92
3.10 擴展閱讀93
3.11 參考文獻93

第4章繪圖和可視化95
4.1 導入模塊96
4.2 入門96
4.3 Figure對象101
4.4 Axes實例102
4.4.1 繪圖類型103
4.4.2 線條屬性103
4.4.3 圖例107
4.4.4 文本格式和註釋108
4.4.5 軸屬性110
4.5 Axes高級佈局119
4.5.1 圖中圖119
4.5.2 plt.subplots 121
4.5.3 plt.subplot2grid 123
4.5.4 GridSpec 123
4.6 繪製色圖124
4.7 繪製3D圖形126
4.8 本章小結128
4.9 擴展閱讀128
4.10 參考文獻129

第5章方程求解131
5.1 導入模塊131
5.2 線性方程組132
5.2.1 方形方程組133
5.2.2 矩形方程組137
5.3 特徵值問題141
5.4 非線性方程142
5.4.1 單變量方程142
5.4.2 非線性方程組149
5.5 本章小結152
5.6 擴展閱讀152
5.7 參考文獻153

第6章優化155
6.1 導入模塊155
6.2 優化問題的分類156
6.3 單變量優化158
6.4 無約束的多變量優化問題160
6.5 非線性最小二乘問題167
6.6 受約束的優化問題168
6.7 本章小結175
6.8 擴展閱讀175
6.9 參考文獻176

第7章插值177
7.1 導入模塊177
7.2 插值概述178
7.3 多項式179
7.4 多項式插值181
7.5 樣條插值185
7.6 多變量插值188
7.7 本章小結193
7.8 擴展閱讀193
7.9 參考文獻193

第8章積分195
8.1 導入模塊196
8.2 數值積分方法196
8.3 使用SciPy進行數值積分199
8.4 多重積分204
8.5 符號積分和任意精度積分208
8.6 積分變換211
8.7 本章小結214
8.8 擴展閱讀214
8.9 參考文獻214

第9章常微分方程215
9.1 導入模塊215
9.2 常微分方程216
9.3 使用符號方法求解ODE 217
9.3.1 方向場222
9.3.2 使用拉普拉斯變換求解ODE 225
9.4 數值法求解ODE 228
9.5 使用SciPy對ODE進行數值積分231
9.6 本章小結242
9.7 擴展閱讀242
9.8 參考文獻243

第10章稀疏矩陣和圖245
10.1 導入模塊245
10.2 SciPy中的稀疏矩陣246
10.2.1 創建稀疏矩陣的函數250
10.2.2 稀疏線性代數函數252
10.2.3 線性方程組252
10.2.4 圖和網絡257
10.3 本章小結264
10.4 擴展閱讀264
10.5 參考文獻264

第11章偏微分方程265
11.1 導入模塊266
11.2 偏微分方程266
11.3 有限差分法267
11.4 有限元法272
11.5 使用FEniCS求解PDE 275
11.6 本章小結293
11.7 擴展閱讀294
11.8 參考文獻294

第12章數據處理和分析295
12.1 導入模塊296
12.2 Pandas介紹296
12.2.1 Series對象296
12.2.2 DataFrame對象299
12.2.3 時間序列307
12.3 Seaborn圖形庫317
12.4 本章小結321
12.5 擴展閱讀322
12.6 參考文獻322

第13章統計323
13.1 導入模塊323
13.2 概率統計回顧324
13.3 隨機數325
13.4 隨機變量及其分佈328
13.5 假設檢驗335
13.6 非參數法339
13.7 本章小結341
13.8 擴展閱讀341
13.9 參考文獻341

第14章統計建模343
14.1 導入模塊344
14.2 統計建模簡介344
14.3 使用Patsy定義統計模型345
14.4 線性回歸352
14.5 離散回歸360
14.5.1 對數機率回歸361
14.5.2 泊松回歸模型365
14.6 時間序列368
14.7 本章小結372
14.8 擴展閱讀372
14.9 參考文獻372

第15章機器學習373
15.1 導入模塊374
15.2 機器學習回顧374
15.3 回歸375
15.4 分類384
15.5 聚類388
15.6 本章小結391
15.7 擴展閱讀392
15.8 參考文獻392

第16章貝葉斯統計393
16.1 導入模塊394
16.2 貝葉斯統計簡介394
16.3 定義模型396
16.3.1 後驗分佈採樣400
16.3.2 線性回歸403
16.4 本章小結413
16.5 擴展閱讀413
16.6 參考文獻413

第17章信號處理415
17.1 導入模塊415
17.2 頻譜分析416
17.2.1 傅里葉變換416
17.2.2 加窗421
17.2.3 頻譜圖424
17.3 信號濾波器427
17.3.1 卷積濾波器428
17.3.2 FIR和IIR濾波器429
17.4 本章小結434
17.5 擴展閱讀434
17.6 參考文獻434

第18章數據的輸入輸出435
18.1 導入模塊436
18.2 CSV格式436
18.3 HDF5 440
18.3.1 h5py庫441
18.3.2 PyTables庫451
18.3.3 Pandas HDFStore 455
18.4 JSON 456
18.5 序列化460
18.6 本章小結462
18.7 擴展閱讀462
18.8 參考文獻463

第19章代碼優化465
19.1 導入模塊467
19.2 Numba 467
19.3 Cython 473
19.4 本章小結482
19.5 擴展閱讀483
19.6 參考文獻483
附錄安裝485