python數據分析工具——Numpy、Scipy、Matplotlib

python數據分析工具——Numpy、Scipy、Matplotlib

Python本身的數據分析功能不強,需要安裝一些第三方擴展庫來增強它的能力。這裡用到的庫有 Numpy、 Scipy、 Matplotlib、 Pandas、 scikit-learn、 Keras和 Gensim等,下面將對這些庫的安裝和使用進行簡單的介紹。

如果安裝了 Anaconda,那麼它已經自帶了以下庫: Numpy、 Scipy、Matplotlib、 Pandas和 scikit-lean。這裡主要是對這些庫進行簡單的介紹,之後會通過各種案例對這些庫的使用進行更加深入的說明。

值得一提的是,這裡所介紹的擴展庫,它們的官網上的幫助文檔都相當詳細。用 Python進行科學計算是很豐富的學問,這裡只是用到了它的數據分析和挖掘相關的部分功能,所涉及的一些庫。

python數據分析工具——Numpy、Scipy、Matplotlib

Numpy

Python並沒有提供數組功能。雖然列表可以完成基本的數組功能,但它不是真正的數組,而且在數據量較大時,使用列表的速度就會慢得讓人難以接受。為此, Numpy提供了真正的數組功能,以及對數據進行快速處理的函數。 Numpy還是很多更高級的擴展庫的依賴庫,後面章節介紹的 Scipy、 Matplotlib、 Pandas等庫都依賴於它。值得強調的是, Numpy內置函數處理數據的速度是C語言級別的,因此在編寫程序的時候,應當儘量使用它們內置的

函數,避免出現效率瓶頸的現象(尤其是涉及循環的問題)。

在 Windows中, Numpy安裝跟普通的第三方庫安裝一樣,可以通過pip安裝

pip install numpy

也可以自行下載源代碼,然後用

python setup. py install

安裝。在 Linux下上述方面也是可行的。此外,很多 Linux發行版的軟件源中都有 Python常見的庫,因此還可以通過 Linux自帶的軟件管理器進行安裝,如在 Ubuntu下可以用

sudo apt-get install python-numpy

安裝。安裝完成後,可以使用以下命令進行測試。

# -*- coding:utf-8 -*-

#引入numpy包

import numpy as np

#創建數組

a = np.array([2,0,1,8])

#輸出數組

print(a)

#引用前三個數字

print(a[:3])

#輸出a的最小值

print(a.min())

#讓數組從小到大排序,該方法會直接修改數組

a.sort()

print(a)

#創建二維數組

b = np.array([[1,2,3],[4,5,6]])

#輸出數組的平方

print(b*b)

Numpy是 Python中相當成熟和常用的庫,因此關於它的教程有很多,最值得一看的是它官網的幫助文檔。http://www.numpy.org/

Scipy

如果說 Numpy讓 Python有了 Matlab的味道,那麼 Scipy就讓 Python真正地成為了半個Matlab了。 Numpy提供了多維數組功能,但它只是一般的數組,並不是矩陣。例如,當兩個數組相乘時,只是對應元素相乘,而不是矩陣乘法。 Scipy提供了真正的矩陣,以及大量基於矩陣運算的對象與函數。

Scipy包含的功能有最優化、線性代數、積分、插值、擬合、特殊函數、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其他科學與工程中常用的計算,顯然,這些功能都是挖掘與建模必備的。

Scipy依賴於 Numpy,因此安裝它之前得先安裝 Numpy。安裝 Scipy的方式與安裝Numpy的方法大同小異。

Windows下,使用pip命令安裝:

pip install scipy

需要提及的是,在 Ubuntu下也可以用類似的

sudo apt-get install python-scipy

安裝。

這裡不做過多介紹,更多學習可參考http://www.scipy.org/

Matplotlib

不論是數據挖掘還是數學建模,都免不了數據可視化的問題。對於 Python來說Matplotlib是最著名的繪圖庫,它主要用於二維繪圖,當然它也可以進行簡單的三維繪圖它不但提供了一整套和 Matlab相似但更為豐富的命令,讓我們可以非常快捷地用 Python可視化數據,而且允許輸出達到出版質量的多種圖像格式。

Matplotlib的安裝並沒有什麼特別之處,可以通過 pip install matplotlib安裝或者自行下載源代碼安裝,在 Ubuntu下也可以用類似的。

sudo apt-get install python-matplotlib

安裝。

Matplotlib的上級依賴庫相對較多,手動安裝的時候,需要逐一把這些依賴庫都安裝好。安裝完成後就可以牛刀小試了,下面是一個簡單的作圖例子,它基本包含了Matplotlib作圖的關鍵要素。

# -*- coding:utf-8-

import numpy as np

#導入 Matplot1ib

import matplotlib.pyplot as plt

#作圖的變量自變量

x = np.linspace(0,10,1000)

#因變量y

y = np.sin(x) + 1

#因變量z

z = np.cos(x**2) + 1

#設置圖像大小

plt.figure(figsize=(8,4))

#作圖,設置標籤線條顏色、線條大小

plt.plot(x,y,label='$\sinx+1$',color='red',linewidth=2)

#普作圖,設置標籤、線條類型

plt.plot(x,z,'b--1',label='$\cosx^2+1$')

#x軸名稱

plt.xlabel('Time(s)')

#y軸名稱

plt.ylabel('Volt')

#標題

plt.title('A Simple Example')

#顯示的y軸範圍

plt.ylim(0,2.2)

#顯示圖例

plt.legend()

#顯示作圖結果

plt.show()

python數據分析工具——Numpy、Scipy、Matplotlib

更多學習可參考:

http://matplotlib.org/

http://matplotlib.org/gallery.html


分享到:


相關文章: