-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Python科學計算(第2版)

( 簡體 字)
作者:張若愚類別:1. -> 程式設計 -> Python
譯者:
出版社:清華大學出版社Python科學計算(第2版) 3dWoo書號: 43951
詢問書籍請說出此書號!

缺書
NT售價: 590

出版日:4/1/2016
頁數:716
光碟數:1
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302426585
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

第1版序
Python理所當然地被視為一門通用的程序設計語言,非常適合于網站開發、系統管理以及通用的業務應用程序。它為諸如YouTube這樣的網站系統、Red Hat操作系統中不可或缺的安裝工具以及從云管理到投資銀行等大型企業的IT系統提供技術支持,從而贏得了如此高的聲譽。Python還在科學計算領域建立了牢固的基礎,覆蓋了從石油勘探的地震數據處理到量子物理等范圍廣泛的應用場景。Python這種廣泛的適用性在于,這些看似不同的應用領域通常在某些重要的方面是重疊的。易于與數據庫連接、在網絡上發布信息并高效地進行復雜計算的應用程序對于許多行業是至關重要的,而Python最主要的長處就在于它能讓開發者迅速地創建這樣的工具。
實際上,Python與科學計算的關系源遠流長。吉多?范羅蘇姆創建這門語言,還是在他在荷蘭阿姆斯特丹的國家數學和計算機科學研究學會(CWI)的時候。當時只是作為“課余”的開發,但是很快其他人也開始為之做出貢獻。從1994年開始的頭幾次Python研討會,都是在大洋彼岸的科研機構舉行的。例如國家標準技術研究所(NIST)、美國地質學會以及勞倫斯利福摩爾國家實驗室(LLNL),所有這些都是以科研為中心的機構。當時Python 1.0剛剛發布,與會者們就已經開始打造Python的數學計算工具。10多年過去了,我們欣喜地看到,我們在開發具有驚人能力的工具集以及建設多彩的社區方面做出了如此多的成績。很合時宜的是,就我所知的第一本涵蓋了Python的主要科學計算工具的綜合性著作,在另一個海洋之遙的中國編著并出版了。展望今后的十幾年,我迫不及待地想看到我們能共同創建出怎樣的未來。
吉多他本人并不是科學家或工程師。他在CWI的計算機科學部門時,為了緩解為阿米巴(Amoeba)操作系統創建系統管理工具的痛苦,他創建了Python。當時那些系統管理工具都是用C語言編寫的。于是Python就成了填補shell腳本和C語言之間空白的工具。操作系統工具與計算逆矩陣或快速傅立葉變換是完全不同的領域,但是從Python誕生開始,世界各地的許多科學家就成了它最早期的采用者。吉多成功地創建了一門能與他們的C和Fortran代碼完美結合的、具有優雅表現力的程序語言。并且,吉多是一位愿意聽取建議并添加關鍵功能的語言設計師,例如支持復數就是專門針對科學領域的。隨著NumPy的前身——Numeric的誕生,Python獲得了一個高效且強大的數值運算工具,它鞏固了在未來幾十年中,Python作為領先的科學計算語言的地位。
對于一些人來說,“科學計算編程”會讓人聯想起Numerical Recipes in C中描述的那些復雜算法,或是研究生們在深夜中努力打造程序的場景。但是真實情況所涵蓋的范圍更廣泛——從底層的算法設計到具有高級繪圖功能的用戶界面開發。而后者的重要性卻常常被忽視了。幸運的是在本書中,作者為我們介紹了科學計算編程所需的各個方面。從NumPy庫和SciPy算法工具庫的基礎開始,介紹了任何科學計算應用程序所需的基本工具。然后,本書很恰當地介紹了二維繪圖以及三維可視化庫——matplotlib、Chaco、Mayavi。用Traits和TraitsUI進行應用程序和界面開發,以及用Cython、Weave、ctypes和SWIG等與傳統的C語言庫相互結合等內容在書中也有很好的介紹。除了這些核心的工具之外,本書還介紹了使用SymPy進行數學符號運算以及其他的各種有用的主題。
所有這些主題都被匯編到一本書中真是一件令人欣喜的事情。本書所提供的一站式服務,能夠指導讀者從最初的入門直到創建一個漂亮的、全功能的分析與模擬應用程序。
Eric Jones
2011年12月8日
關于序言作者
Eric Jones是Enthought公司的CEO,他在工程和軟件開發領域擁有廣泛的背景,指導Enthought公司的產品工程和軟件設計。在共同創建Enthought公司之前,他在杜克大學電機工程學系從事數值電磁學以及遺傳優化算法方面的研究,并獲得了該系的碩士和博士學位。他教授過許多用Python做科學計算的課程,并且是Python軟件基金會的成員。
關于Enthought公司
Enthought是一家位于美國得克薩斯州首府奧斯汀的軟件公司,主要使用Python從事科學計算工具的開發。本書中介紹的NumPy、SciPy、Traits、TraitsUI、Chaco、TVTK以及Mayavi均為該公司開發或維護的開源程序庫。


前  言


Python世界的發展日新月異,在本書第1版出版之后,Python在數據分析、科學計算領域又出現了許多令人興奮的進展:
●IPython從增強的交互式解釋器發展到Jupyter Notebook項目,它已經成為Python科學計算界的標準配置。
●Pandas經過幾個版本的更新,目前已經成為數據清洗、處理和分析的不二選擇。
●OpenCV官方的擴展庫cv2已經正式發布,它的眾多圖像處理函數能直接對NumPy數組進行處理,編寫圖像處理、計算機視覺程序變得更方便、簡潔。
●matplotlib 2.0即將發布,它將使用更美觀的默認樣式。
●Cython內置支持NumPy數組,它已經逐漸成為編寫高效運算擴展庫的首選工具。
●NumPy、SciPy等也經歷了幾個版本的更新,許多計算變得更快捷,功能也更加豐富。
●WinPython、Anaconda等新興的Python集成環境無須安裝,使得開發與共享Python程序更方便快捷。
本書第2版緊隨各個擴展庫的發展,將最新、最實用的內容呈現給讀者。除了數值計算之外,本書還包含了界面制作、三維可視化、圖像處理、提高運算效率等方面的內容。最后一章綜合使用本書介紹的各個擴展庫,完成幾個有趣的實例項目。
本書完全采用IPython Notebook編寫,保證了書中所有代碼及輸出的正確性。附盤中附帶所有章節的Notebook以及便攜式運行環境WinPython,以方便讀者運行書中所有實例。
本書適合于工科高年級本科生、研究生、工程技術人員以及計算機開發人員閱讀,也適合閱讀過第1版的讀者了解各個擴展庫的最新進展,進一步深入學習。
閱讀本書的讀者需要掌握Python語言的一些基礎知識,Cython章節需要讀者能夠閱讀C語言代碼。
除封面署名的作者外,參加本書編寫的人員還有張佑林、張東等人,在此一并表示感謝。

內容簡介:

本書詳細介紹Python科學計算中最常用的擴展庫NumPy、SciPy、matplotlib、Pandas、SymPy、TTK、Mayavi、OpenCV、Cython,涉及數值計算、界面制作、三維可視化、圖像處理、提高運算效率等多方面的內容。所附光盤中包含所有章節的Notebook以及便攜式運行環境WinPython,以方便讀者運行書中所有實例。
目錄:

第1章Python科學計算環境的安裝與簡介 1

1.1Python簡介 1

1.1.1Python2還是Python3 1

1.1.2開發環境 2

1.1.3集成開發環境(IDE) 5

1.2IPythonNotebook入門 9

1.2.1基本操作 10

1.2.2魔法(Magic)命令 12

1.2.3Notebook的顯示系統 20

1.2.4定制IPythonNotebook 24

1.3擴展庫介紹 27

1.3.1數值計算庫 27

1.3.2符號計算庫 28

1.3.3繪圖與可視化 28

1.3.4數據處理和分析 29

1.3.5界面設計 30

1.3.6圖像處理和計算機視覺 31

1.3.7提高運算速度 31

第2章NumPy-快速處理數據 33

2.1ndarray對象 33

2.1.1創建 34

2.1.2元素類型 35

2.1.3自動生成數組 37

2.1.4存取元素 40

2.1.5多維數組 43

2.1.6結構數組 47

2.1.7內存結構 50

2.2ufunc函數 56

2.2.1四則運算 58

2.2.2比較運算和布爾運算 59

2.2.3自定義ufunc函數 61

2.2.4廣播 62

2.2.5ufunc的方法 66

2.3多維數組的下標存取 68

2.3.1下標對象 68

2.3.2整數數組作為下標 70

2.3.3一個復雜的例子 72

2.3.4布爾數組作為下標 73

2.4龐大的函數庫 74

2.4.1隨機數 74

2.4.2求和、平均值、方差 77

2.4.3大小與排序 81

2.4.4統計函數 86

2.4.5分段函數 89

2.4.6操作多維數組 92

2.4.7多項式函數 96

2.4.8多項式函數類 98

2.4.9各種乘積運算 103

2.4.10廣義ufunc函數 106

2.5實用技巧 110

2.5.1動態數組 110

2.5.2和其他對象共享內存 112

2.5.3與結構數組共享內存 115

第3章SciPy-數值計算庫 117

3.1常數和特殊函數 117

3.2擬合與優化-optimize 119

3.2.1非線性方程組求解 120

3.2.2最小二乘擬合 121

3.2.3計算函數局域最小值 125

3.2.4計算全域最小值 127

3.3線性代數-linalg 128

3.3.1解線性方程組 129

3.3.2最小二乘解 130

3.3.3特征值和特征向量 132

3.3.4奇異值分解-SVD 134

3.4統計-stats 136

3.4.1連續概率分布 136

3.4.2離散概率分布 139

3.4.3核密度估計 140

3.4.4二項分布、泊松分布、伽瑪分布 142

3.4.5學生t-分布與t檢驗 147

3.4.6卡方分布和卡方檢驗 151

3.5數值積分-integrate 154

3.5.1球的體積 154

3.5.2解常微分方程組 156

3.5.3ode類 157

3.5.4信號處理-signal 164

3.5.5中值濾波 164

3.5.6濾波器設計 165

3.5.7連續時間線性系統 167

3.6插值-interpolate 172

3.6.1一維插值 172

3.6.2多維插值 177

3.7稀疏矩陣-sparse 181

3.7.1稀疏矩陣的存儲形式 182

3.7.2最短路徑 183

3.8圖像處理-ndimage 186

3.8.1形態學圖像處理 187

3.8.2圖像分割 192

3.9空間算法庫-spatial 195

3.9.1計算最近旁點 195

3.9.2凸包 199

3.9.3沃羅諾伊圖 201

3.9.4德勞內三角化 204

第4章matplotlib-繪制精美的圖表 207

4.1快速繪圖 207

4.1.1使用pyplot模塊繪圖 207

4.1.2面向對象方式繪圖 210

4.1.3配置屬性 211

4.1.4繪制多子圖 212

4.1.5配置文件 215

4.1.6在圖表中顯示中文 217

4.2Artist對象 220

4.2.1Artist的屬性 221

4.2.2Figure容器 223

4.2.3Axes容器 224

4.2.4Axis容器 226

4.2.5Artist對象的關系 230

4.3坐標變換和注釋 231

4.3.14種坐標系 234

4.3.2坐標變換的流水線 236

4.3.3制作陰影效果 240

4.3.4添加注釋 241

4.4塊、路徑和集合 243

4.4.1Path與Patch 243

4.4.2集合 245

4.5繪圖函數簡介 255

4.5.1對數坐標圖 255

4.5.2極坐標圖 256

4.5.3柱狀圖 257

4.5.4散列圖 258

4.5.5圖像 259

4.5.6等值線圖 261

4.5.7四邊形網格 264

4.5.8三角網格 267

4.5.9箭頭圖 269

4.5.10三維繪圖 273

4.6matplotlib技巧集 274

4.6.1使用agg后臺在圖像上繪圖 274

4.6.2響應鼠標與鍵盤事件 277

4.6.3動畫 285

4.6.4添加GUI面板 288

第5章Pandas-方便的數據分析庫 291

5.1Pandas中的數據對象 291

5.1.1Series對象 291

5.1.2DataFrame對象 293

5.1.3Index對象 297

5.1.4MultiIndex對象 298

5.1.5常用的函數參數 300

5.1.6DataFrame的內部結構 301

5.2下標存取 303

5.2.1[]操作符 304

5.2.2.loc[]和.iloc[]存取器 304

5.2.3獲取單個值 306

5.2.4多級標簽的存取 306

5.2.5query()方法 307

5.3文件的輸入輸出 307

5.3.1CSV文件 308

5.3.2HDF5文件 309

5.3.3讀寫數據庫 313

5.3.4使用Pickle序列化 314

5.4數值運算函數 315

5.5時間序列 323

5.5.1時間點、時間段、時間間隔 323

5.5.2時間序列 326

5.5.3與NaN相關的函數 329

5.5.4改變DataFrame的形狀 333

5.6分組運算 338

5.6.1groupby()方法 339

5.6.2GroupBy對象 340

5.6.3分組-運算-合并 341

5.7數據處理和可視化實例 347

5.7.1分析Pandas項目的提交歷史 347

5.7.2分析空氣質量數據 354

第6章SymPy-符號運算好幫手 359

6.1從例子開始 359

6.1.1封面上的經典公式 359

6.1.2球體體積 361

6.1.3數值微分 362

6.2數學表達式 365

6.2.1符號 365

6.2.2數值 367

6.2.3運算符和函數 368

6.2.4通配符 371

6.3符號運算 373

6.3.1表達式變換和化簡 373

6.3.2方程 376

6.3.3微分 377

6.3.4微分方程 378

6.3.5積分 379

6.4輸出符號表達式 380

6.4.1lambdify 381

6.4.2用autowrap()編譯表達式 381

6.4.3使用cse()分步輸出表達式 384

6.5機械運動模擬 385

6.5.1推導系統的微分方程 386

6.5.2將符號表達式轉換為程序 388

6.5.3動畫演示 389

第7章Traits&TraitsUI-輕松制作圖形界面 393

7.1Traits類型入門 393

7.1.1什么是Traits屬性 393

7.1.2Trait屬性的功能 396

7.1.3Trait類型對象 399

7.1.4Trait的元數據 401

7.2Trait類型 403

7.2.1預定義的Trait類型 403

7.2.2Property屬性 406

7.2.3Trait屬性監聽 408

7.2.4Event和Button屬性 411

7.2.5動態添加Trait屬性 412

7.3TraitsUI入門 413

7.3.1默認界面 414

7.3.2用View定義界面 415

7.4用Handler控制界面和模型 425

7.4.1用Handler處理事件 426

7.4.2Controller和UIInfo對象 429

7.4.3響應Trait屬性的事件 431

7.5屬性編輯器 432

7.5.1編輯器演示程序 433

7.5.2對象編輯器 436

7.5.3自定義編輯器 440

7.6函數曲線繪制工具 444

第8章TVTK與Mayavi-數據的三維可視化 451

8.1VTK的流水線(Pipeline) 452

8.1.1顯示圓錐 452

8.1.2用ivtk觀察流水線 455

8.2數據集 461

8.2.1ImageData 461

8.2.2RectilinearGrid 466

8.2.3StructuredGrid 467

8.2.4PolyData 470

8.3TVTK的改進 473

8.3.1TVTK的基本用法 474

8.3.2Trait屬性 475

8.3.3序列化 476

8.3.4集合迭代 476

8.3.5數組操作 477

8.4TVTK可視化實例 478

8.4.1切面 479

8.4.2等值面 484

8.4.3流線 487

8.4.4計算圓柱的相貫線 491

8.5用mlab快速繪圖 496

8.5.1點和線 497

8.5.2Mayavi的流水線 498

8.5.3二維圖像的可視化 501

8.5.4網格面mesh 505

8.5.5修改和創建流水線 508

8.5.6標量場 511

8.5.7矢量場 513

8.6將TVTK和Mayavi嵌入界面 515

8.6.1TVTK場景的嵌入 516

8.6.2Mayavi場景的嵌入 518

第9章OpenCV-圖像處理和計算機視覺 523

9.1圖像的輸入輸出 523

9.1.1讀入并顯示圖像 523

9.1.2圖像類型 524

9.1.3圖像輸出 525

9.1.4字節序列與圖像的相互轉換 526

9.1.5視頻輸出 527

9.1.6視頻輸入 529

9.2圖像處理 530

9.2.1二維卷積 530

9.2.2形態學運算 532

9.2.3填充-floodFill 534

9.2.4去瑕疵-inpaint 536

9.3圖像變換 537

9.3.1幾何變換 537

9.3.2重映射-remap 540

9.3.3直方圖 543

9.3.4二維離散傅立葉變換 547

9.3.5用雙目視覺圖像計算深度信息 550

9.4圖像識別 553

9.4.1用霍夫變換檢測直線和圓 553

9.4.2圖像分割 558

9.4.3SURF特征匹配 561

9.5形狀與結構分析 564

9.5.1輪廓檢測 565

9.5.2輪廓匹配 568

9.6類型轉換 569

9.6.1分析cv2的源程序 570

9.6.2Mat對象 572

9.3.3在cv和cv2之間轉換圖像對象 574

第10章Cython-編譯Python程序 575

10.1配置編譯器 575

10.2Cython入門 577

10.2.1計算矢量集的距離矩陣 577

10.2.2將Cython程序編譯成擴展模塊 579

10.2.3C語言中的Python對象類型 581

10.2.4使用cdef關鍵字聲明變量類型 582

10.2.5使用def定義函數 585

10.2.6使用cdef定義C語言函數 586

10.3高效處理數組 587

10.3.1Cython的內存視圖 587

10.3.2用降采樣提高繪圖速度 592

10.4使用Python標準對象和API 596

10.4.1操作list對象 596

10.4.2創建tuple對象 597

10.4.3用array.array作為動態數組 598

10.5擴展類型 600

10.5.1擴展類型的基本結構 600

10.5.2一維浮點數向量類型 601

10.5.3包裝ahocorasick庫 606

10.6Cython技巧集 612

10.6.1創建ufunc函數 613

10.6.2快速調用DLL中的函數 617

10.6.3調用BLAS函數 620

第11章實例 627

11.1使用泊松混合合成圖像 627

11.1.1泊松混合算法 627

11.1.2編寫代碼 629

11.1.3演示程序 632

11.2經典力學模擬 632

11.2.1懸鏈線 633

11.2.2最速降線 638

11.2.3單擺模擬 641

11.3推薦算法 644

11.3.1讀入數據 645

11.3.2推薦性能評價標準 646

11.3.3矩陣分解 647

11.3.4使用最小二乘法實現矩陣分解 648

11.3.5使用Cython迭代實現矩陣分解 651

11.4頻域信號處理 654

11.4.1FFT知識復習 654

11.4.2合成時域信號 657

11.4.3觀察信號的頻譜 660

11.4.4卷積運算 671

11.5布爾可滿足性問題求解器 675

11.5.1用Cython包裝PicoSAT 678

11.5.2數獨游戲 682

11.5.3掃雷游戲 686

11.6分形 693

11.6.1Mandelbrot集合 693

11.6.2迭代函數系統 699

11.6.3L-System分形 706

11.6.4分形山脈 710

序: