《Python数据分析基础教程:NumPy学习指南(第2版)》笔记1:第一章 NumPy快速入门
NumPy快速入門
1.1 Python
NumPy是基于Python的,因此在安裝NumPy之前,需要先安裝Python。某些操作系統已經默認安裝有Python環境,但仍需檢查Python的版本是否與將要安裝的NumPy版本兼容。Python有很多種實現,包括一些商業化的實現和發行版。本書使用CPython實現,從而保證與NumPy兼容。
1.2 動手實踐:在不同的操作系統上安裝 Python
(1) Debian和Ubuntu
Debian和Ubuntu可能已經默認安裝了Python,但開發者包(developmentheaders)一般不會默認安裝。在Debian和Ubuntu中安裝python和python-dev的命令如下:
sudo apt-get install python
sudo apt-get install python-dev
(2) Windows
Python的Windows安裝程序可以在www.python.org/download下載。在這個站點中,也可以找到Mac OS X的安裝程序,以及Linux、 Unix和Mac OS X下的源代碼包。
(3) Mac Mac
OS X中預裝了Python,而我們也可以通過MacPorts、 Fink或者類似的包管理工具來獲取Python。
LAPACK并不是必需的,但如果需要, NumPy在安裝過程中將檢測并使用之。我們推薦大家
安裝LAPACK以便應對海量數據的計算,因為它擁有高效的線性代數計算模塊。
1.3 動手實踐:在 Linux 上安裝 NumPy、 Matplotlib、 SciPy和 IPython
在Linux上安裝NumPy和相關軟件的方法取決于具體使用的Linux發行版。大部分Linux發行版都有NumPy的軟件包。我一些流行的Linux發行版的安裝方法如下:
(1) 要在Red Hat上安裝NumPy,請在命令行中執行如下命令:
yum install python-NumPy(2) 要在Mandriva上安裝`NumPy`,請在命令行中執行如下命令: `urpmi python-`NumPy
(3) 要在Gentoo上安裝NumPy,請在命令行中執行如下命令:
sudo emergeNumPy(4) 要在Debian或Ubuntu上安裝`NumPy`,請在命令行中執行如下命令: `sudo apt-get install python-`NumPy
1.4 動手實踐:向量加法
假設我們需要對兩個向量a和b做加法。這里的向量即數學意義上的一維數組,隨后我們將在第5章中學習如何用NumPy數組表示矩陣。向量a的取值為0~n的整數的平方,例如n取3時,向量a為0、 1或4。向量b的取值為0~n的整數的立方,例如n取3時,向量b為0、 1或8。用純Python代碼應該怎么寫呢?我們先想一想這個問題,隨后再與等價的NumPy代碼進行比較。
(1) 純Python代碼:
(2) 使用NumPy的代碼:
def `NumPy`sum(n):a = `NumPy`.arange(n) ** 2b = `NumPy`.arange(n) ** 3c = a + breturn c注意, NumPysum()函數中沒有使用for循環。同時,我們使用NumPy中的arange函數來創建包含0~n 的整數的NumPy數組。代碼中的arange函數前面有一個前綴NumPy,表明該函數是從NumPy模塊導入的。
用NumPy還是Python,得到的結果是一致的。不過,兩者的輸出結果在形式上有些差異。注意,NumPy sum()函數的輸出不包含逗號。這是為什么呢?顯然,我們使用的是NumPy數組,而非Python自身的列表。
1.5 IPython:一個交互式 shell 工具
IPython提供的交互式實驗環境被很多人認為是Matlab、 Mathematica和Maple的開源替代品。你可以在線獲取包括安裝指南在內的更多信息,地址為http://ipython.org/。
IPython是開源免費的軟件,可以在Linux、 Unix、 Mac OS X以及Windows上使用。 IPython的作者們希望那些用到IPython的科研工作成果在發表時能夠提到IPython,這是他們對IPython使用者唯一的要求。下面是IPython的基本功能:
- Tab鍵自動補全;
- 歷史記錄存檔;
- 行內編輯;
- 使用%run可以調用外部Python腳本;
- 支持系統命令;
- Python代碼調試和性能分析。
使用quit()函數或快捷鍵Ctrl+D均可以退出IPython shell。
在IPython中獲取NumPy函數幫助有兩種方式,help(函數名)或函數名?。
總結
以上是生活随笔為你收集整理的《Python数据分析基础教程:NumPy学习指南(第2版)》笔记1:第一章 NumPy快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式设备路由网络共享开发(2):移远Q
- 下一篇: Git学习指南