Python數據分析經常使用模塊介紹

前言python

python是一門優秀的編程語言,而是python成爲數據分析軟件的是由於python強大的擴展模塊。也就是這些python的擴展包讓python能夠作數據分析,主要包括numpy,scipy,pandas,matplotlib,scikit-learn等等諸多強大的模塊,在結合上ipython交互工具 ,以及python強大的爬蟲數據獲取能力,字符串處理能力,讓python成爲完整的數據分析工具。算法


Python數據分析經常使用模塊介紹

 

Python數據分析經常使用模塊介紹

 

numpy編程

官網:https://www.scipy.org/數組

NumPy(Numerical Python的簡稱)是高性能科學計算和數據分析的基礎包。NumPy最重要的一個特色就是其N維數組對象(即ndarray),該對象是一個快速而靈活的大數據集容器。能夠利用這種數組對整塊數據執行一些數學運算,比python自帶的數組以及元組效率更高,其語法跟變量元素之間的運算同樣,無需進行循環操做。數據結構

在使用python進行數據分析的過程當中,咱們大部分時候是不會直接使用numpy包,而是其餘包要用到numpy。能夠說numpy是整個python數據分析工做的基石。機器學習

舉個簡單的案例,咱們要計算100000個隨機數的值,若是傳統編程須要寫循環,用了2.2s,而使用numpy數據結構,則能夠進行向量化操做,無需循環,只須要28.2ms 節約大量時間。編程語言

In [1]: import numpy
In [2]: my_arr = np.arange(1000000)
In [3]: my_list = list(range(1000000))
In [4]: %time for _ in range(10): my_arr2 = my_arr * 2
Wall time: 28.2 ms
In [5]: %time for _ in range(10): my_list2 = [x * for x in my_list]
Wall time: 2.2 s

pandas工具

官網:https://pandas.pydata.org/性能

Python Data Analysis Library,可根據須要幫助組織各類參數的數據。pandas基於numpy底層數據結構。讓python成爲相似Excel,R等統計學軟件,主要就是pandas的功勞。pandas在python中實現了各類數據的計算 ,分組計算,添加刪除,排序,篩選,抽樣等都能工做。使Pandas成爲數據科學家中最受歡迎的庫。學習

pandas主要包含兩種數據結構:Series與DataFrame。Series是一種相似於覺得數組的對象,它由一組數據以及與之相關的數據標籤組成,僅有一組數據便可產生最簡單的Series。Series相似於R中的向量,屬於覺得數據。Series能夠構成二維的DataFrame。行爲記錄值,列爲觀測值。若是熟悉R中的數據框DataFrame,在使用pandas則會輕鬆上手,由於做者本身說pandas的DataFrame就是模仿R的數據框。

scipy

官網:https://www.scipy.org/

scipy是一個用於數學、科學、工程領域的經常使用軟件包,能夠處理插值、積分、優化、圖像處理、常微分方程數值解的求解、信號處理等問題。它用於有效計算Numpy矩陣,使Numpy和Scipy協同工做,高效解決問題。
Scipy是由針對特定任務的子模塊組成:

Python數據分析經常使用模塊介紹

 

matplotlib

官網:https://matplotlib.org/

matplotlib是python中優秀的數據可視化的包,根據命名就能夠看到,它實際上是一個matlib的plot庫,也就是利用python將matlib的繪圖功能實現了一遍。若是你熟悉matlib繪圖,那麼將直接上手。matplotlib是Python編程語言及其數值數學擴展包 NumPy的可視化操做界面。它爲利用通用的圖形用戶界面工具包,如Tkinter, wxPython, Qt或GTK+嚮應用程序嵌入式繪圖提供了應用程序接口(API)。

plotnine

官網:https://plotnine.readthedocs.io/en/stable/

若是你不熟悉matlib,而是從R轉到python,可能不太喜歡matplotlib的繪圖模式和風格,以爲不如R繪圖方便。並且R還有ggplot2包。那麼plotnine則是將ggplot2移植到python上,在python上徹底重現ggplot2的功能。若是你熟悉ggplot2的語法,直接上手。不過,我卻是以爲這個工做意義不大,這屬於從新發明輪子,後面若是ggplot2在更新了,兩者之間仍是會有一些差異,用戶會有些困擾。固然,這樣的問題仁者見仁,愚者見愚。聊勝於無,若是想在 python環境中完成所有工做,有了這個包仍是很是不錯的。

Python數據分析經常使用模塊介紹

 

scikit-learn

官網:https://scikit-learn.org/stable/

有不少人不是每天喜歡三句話不離大數據,機器學習,人工智能嗎。那麼scikit-learn則是完成python大數據機器學習的包。scikit-Learn是python數據分析中很是重要的一個模塊,它是一個基於NumPy和SciPy構建的開源機器學習工具包。 它具備經常使用的ML算法,可用於預處理,分類,迴歸以及聚類。算法包括[支持向量機]( support vector machines,ridge迴歸, 網格搜索算法(Grid Search algorithm) ,k均值聚類等等。另外還有樣本數據集。API易學易用。 在幾乎全部平臺上的良好性能,它在學術和商業用途中都很受歡迎。

Python數據分析經常使用模塊介紹

 

原圖連接:

https://scikit-learn.org/stable/tutorial/machine_learning_map/

其餘:

除了以上包以外,python還有不少不少其餘有關數據分析的包,不勝枚舉,好比圖片識別的opencv,google機器學習開源庫tensorflow,PyTorch等等,一個嶄新的世界等待你去發現。可是前提是前面基礎這些包熟悉了,以及有最核心的計算機以及統計學基礎,不然就是無水之源,無木之本,你所謂的人工智能,只能是人工智障。

相關文章
相關標籤/搜索