Python NumPy CookBook 前言

黃鑫發表於2013-04-28

Preface

我們都是 NumPy 使用者,生活在當下。每週甚至可能是每天都會有 NumPy 相關新的開發內容進入我們視線。當開始寫這本書的時候,應用科學開源 NumPy 基金會已經被創立。Numpy 發起的 Numba專案正式公開,通過 LLVM 編譯動態 Python 程式碼。同樣也被 Google 新增到他們的雲產品 Google App Engine 中。

在將來,我們預計會有針對GPU和CPU改進的平行計算,NumPy arrays 會提供類 OLAP 的查詢。

即便有這麼多好訊息,我們仍然時刻提醒著自己,NumPy 並沒有獨立於科研軟體生態圈(Python)。這裡有 Scipy,Matplotlib (一個常見的 Python 繪圖類庫),IPython (一個互動Shell)以及 Scikits。除了 Python 生態圈,還有諸如 R,C 以及 Fortran 非常流行的語言。我們打算深入這些環境,與之打通。

這本書包含什麼

第一章,與 IPython共舞,IPython 是一個最著名的Shell工具包。本章將會包含它的基於Web 的 notebook 功能,一個不僅嶄新而且強大到讓人激動的特性。就像 Matlab 或 Mathematica 一般,不過這是在你的瀏覽器裡,並且免費開源。

第二章,深入 Indexing 和 Array 的概念,包括一些 NumPy 更高階更巧妙的索引技術。NumPy 通過其索引結構使得 Array 不僅高效而且易於使用。

第三章,掌握常見函式,每個 NumPy 使用者應該知道,對於每個不可或缺的函式,都有充分的文件說明。不過 NumPy 有太多的函式,以至於沒有辦法在這本書中每個都提及。

第四章,NumPy 連線真實的世界,展示給我們的是真實世界裡數不清的程式語言,類庫和工具,遭遇一塊之後的心亂如麻。一些軟體執行在雲端,一些執行在你本地或者遠端伺服器。對於適合 NumPy 的環境,只需要可以編寫獨立的 NumPy 程式碼。

第五章,音訊和圖片處理,將展示給你一個別樣的 NumPy 視角。在讀了本章之後,你除了考慮 NumPy,你也可以想想音樂或者圖片。

第六章,特殊陣列和通用函式。這會幫助我們學習如何處理字串操作,忽略非法值和儲存多種多樣的資料。

第七章,除錯和調優,我們將會展示幾種方便的除錯和調優工具,這對於開發偉大的軟體應用是必不可少的。

第八章,保證質量,將會討論諸如單元測試,mocking 和 BBD,包括 Numpy 的測試元件的常見測試方法和技術,作為質量控制應該注意的地方。

第九章,使用 Cython 提速,將從 NumPy 的視角展示 Cython 如何工作。 Cython 嘗試結合 C 的執行效率和 Python 的編碼效率。

第十章,把玩 Scikits,將給我們一個關於 Scikits 專案簡短的展示。Scikits 是另外一個迷人的Python科研生態圈的一部分。

你需要準備些什麼

為了嘗試這本書裡的樣例程式碼,你需要一個最近構建的 NumPy。這意味著你需要一個支援 NumPy 的 Python 版本。本書也提供相關的軟體包。

這本書面向哪些讀者

這本書面向科研人員,工程師,程式設計師和分析師,那些具有基本 Python 和 NumPy 知識,想要進一步學習的人員。此外對於數學和統計很感興趣也是必須的。

約定

本書中,你會發現代表不同內容的不同樣式的文字。這裡給出一些例子和解釋。

程式碼文字比如:“我們可以通過include引入其他上下文。“

程式碼塊:

[default] exten => s,1,Dial(Zap/1|30) exten => s,2,Voicemail(u100) exten => s,102,Voicemail(b100) exten => i,1,Voicemail(s0)

當我們希望引起你得額外注意時,相關行將會被設定為粗體。

[default] exten => s,1,Dial(Zap/1|30) exten => s,2,Voicemail(u100) exten => s,102,Voicemail(b100) exten => i,1,Voicemail(s0)

任何一個命令列輸入或輸出都會寫成如下形式:

```

cp /usr/src/asterisk-addons/configs/cdr_mysql.conf.sample

 /etc/asterisk/cdr_mysql.conf

```

新名詞重要詞彙 將會以粗體顯示。你看見顯示文字像:“點選下一個按鈕你將移動到下一頁“在螢幕,目錄或者對話方塊中:

---TODO

讀者反饋

我們總是歡迎讀者們的反饋。讓我們知道你是怎樣看到這本書的--無論好壞。讀者反饋對於我們是重要的發現自身不足的環節。

想要給我們反饋,只需要發一封郵件到 feedback@packpub.com ,並且在郵件標題中註明書名。

如果這個主題你已經有所瞭解或者對於寫作和出書很感興趣,請參見我們的作者導言 www.packtpub.com/authors 。

顧客支援

下載示例程式碼

勘誤

版權

提問

相關文章