詳解Python中的Numpy、SciPy、MatPlotLib安裝與配置
用Python來編寫機器學習方面的代碼是相當簡單的,因為Python下有很多關(guān)于機器學習的庫。其中下面三個庫numpy,scipy,matplotlib,scikit-learn是常用組合,分別是科學計算包,科學工具集,畫圖工具包,機器學習工具集。
numpy :主要用來做一些科學運算,主要是矩陣的運算。NumPy為Python帶來了真正的多維數(shù)組功能,并且提供了豐富的函數(shù)庫處理這些數(shù)組。它將常用的數(shù)學函數(shù)都進行數(shù)組化,使得這些數(shù)學函數(shù)能夠直接對數(shù)組進行操作,將本來需要在Python級別進行的循環(huán),放到C語言的運算中,明顯地提高了程序的運算速度。
scipy:主要是一些科學工具集,信號處理工具集(如線性代數(shù)使用LAPACK庫,快速傅立葉變換使用FFTPACK庫)及數(shù)值計算的一些工具(常微分方程求解使用ODEPACK庫,非線性方程組求解以及最小值求解等)。
scikit-learn:里面有很多機器學習相關(guān)的算法(如聚類算法,SVM等)。
Python安裝完Numpy,SciPy和MatplotLib后,可以成為非常犀利的科研利器。網(wǎng)上關(guān)于這三個庫的安裝都寫得非常不錯,但是大部分人遇到的問題并不是如何安裝,而是安裝好后因為配置不當,在使用時總會出現(xiàn)import xxx error之類的錯誤。我也是自己摸索了很久才發(fā)現(xiàn)如何去正確配置的。下面就詳細說下安裝和配置的過程。
1.安裝Python,這里選擇2.7還是3.4都行,不過推薦使用2.7,畢竟現(xiàn)在的教程大部分還是基于2.7的,3.4跟2.7的語法還是略有不同,為了避免語法錯誤的麻煩,還是推薦大家使用2.7。下載地址為:https://www.python.org/downloads/
2.下載Numpy,SciPy,MatplotLib這三個庫的exe,注意,這里用的是exe,因為MatplotLib的使用需要以Numpy的支持,所以最好先裝NumPy再裝MatplotLib。下載地址:
NumPy: http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/
SciPy: http://sourceforge.net/projects/scipy/files/scipy/0.15.1/
MatPlotLib: http://matplotlib.org/downloads.html
其中NumPy和SciPy沒有32和64位的區(qū)別,MatPlotLib需要根據(jù)自己的系統(tǒng)選擇32位和64位的。再次提醒,這三個庫一定都要下載對應版本的exe。下載完成后一次安裝就是了,他們會自動找到你之前安裝好的Python所在的路徑的,一路Next到底就行了。
3.在第2步安裝完成后,可以在MatPlotLib的Examples頁面(http://matplotlib.org/examples/index.html)Copy代碼運行,發(fā)現(xiàn)一定會出錯。這里出的錯,大體有三個:
- ImportError: matplotlib requires dateutil
- ImportError: matplotlib requires pyparsing
- No module name six
4.解決No module name six問題,解決辦法很簡單。把你的安裝路徑:Python27/Lib/site-packages/scipy/lib中的six.py,six.pyc,six.pyo三個文件拷貝到 你的安裝路徑:Python27/Lib/site-packages,這個問題就解決了。如何還不行,請記住這個地址(非常重要):http://www.lfd.uci.edu/~gohlke/pythonlibs/
然后下載這個文件:six‑1.9.0‑py2.py3‑none‑any.whl,下載后,利用CMD進入到該文件所在的目錄(DOS命令為:cd /d XX:/XXX/six‑1.9.0‑py2.py3‑none‑any.whl 把你自己的six文件的所在路徑按格式粘貼進DOS然后回車就行了),然后輸入命令:pip install six-1.9.0-py2.py3-none-any.whl,等DOS命令跑完,six不存在的問題就解決了。操作圖如下:
5.解決ImportError: matplotlib requires dateutil問題,方法和第4步一樣,下載python_dateutil‑2.4.2‑py2.py3‑none‑any.whl,然后pip install就可以解決該問題了。操作如下:
6.解決ImportError: matplotlib requires pyparsing問題,還如同之前一樣,下載pyparsing‑2.0.3‑py2‑none‑any.whl(選擇對應的版本,這里有2和3的區(qū)別)然后利用pip install安裝好就可以了。操作如下:
到此,所有的配置就完成了,可以愉快地使用MatPlotLib進行科學畫圖和計算了。另外提醒一句,Python2.7和Python3.4不要共存,共存的時候安裝這幾個庫會出現(xiàn)莫名其妙地錯誤,怎么也對不了,推薦只是用Python2.7,。最后,附帶一個來自MatPlotLib的畫圖代碼:
from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt from matplotlib import cm fig = plt.figure() ax = fig.gca(projection='3d') X, Y, Z = axes3d.get_test_data(0.05) ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3) cset = ax.contour(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm) cset = ax.contour(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm) cset = ax.contour(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm) ax.set_xlabel('X') ax.set_xlim(-40, 40) ax.set_ylabel('Y') ax.set_ylim(-40, 40) ax.set_zlabel('Z') ax.set_zlim(-100, 100) plt.show()
效果為:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python創(chuàng)建7種不同的文件格式的方法總結(jié)
今天的這篇文章呢,小編來介紹一下如何通過Python來創(chuàng)建各種形式的文件,這里包括了:文本文件、CSV文件、Excel文件、壓縮文件、XML文件、JSON文件和PDF文件,需要的可以參考一下2023-01-01python 求1-100之間的奇數(shù)或者偶數(shù)之和的實例
今天小編就為大家分享一篇python 求1-100之間的奇數(shù)或者偶數(shù)之和的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06