利用python進行資料分析之準備工作(1)

Spongelady發表於2018-08-10

目錄

 

一、簡介

二、重要的python庫

1.numpy庫

2.pandas

3.matplotlib

4.IPython

5.Scipy

三、python環境安裝和資料分析前的資料準備


一、簡介

什麼是資料?本欄目的資料主要指的是結構化的資料,通常我們使用資料這一說法來籠統地概括所有通用格式的資料,如:多維陣列、表格型資料、關聯資料、時間序列等。大部分資料集都會在我們實際的應用過程中被轉化為更加適合我們分析和建模的結構化形式的資料。

為什麼利用python進行資料分析?用python的主觀原因是這門語言簡單易學好上手,python已成為最受歡迎的動態程式語言之一。其擁有大量的Web框架,同時擁有一個巨大而且活躍的科學計算社群。在資料分析和互動、探索性計算和資料視覺化方面pyhton支援我們可以只使用該語言去構建以資料為中心的應用程式。

同時python能夠成功的整合C\C++\Fortran程式,大部分現代計算機環境都利用了Fortran\C庫來實現線性代數、優選、積分、快速傅立葉變換等其他諸如此類的演算法。python還支援構建生產系統,從而能更好的解決兩種語言問題,例如python和java等構建出一套完整的系統。

python的劣勢:python是一門解釋型程式語言,因此python的程式在執行時幾乎都會相對於編譯型語言要慢的許多。在微信小程式開發首頁我也做了說明,在時間比CPU值錢的快速發展時期,人們自然不願意花費太多時間在程式碼編譯執行時間上。對於高併發、多執行緒的應用程式而言,python擁有的一個叫做全域性直譯器鎖的東西會防止直譯器同時執行多條python位元組碼指令機制,因此python並不是一門十分理想的語言。

二、重要的python庫

1.numpy庫

Numpy(Numercial Python)是pyhton科學計算的基礎包,本欄目大部分都是基於numpy以及構建其上的庫,該庫提供了以下功能:

  • 快速高效的多維陣列物件ndarray;
  • 用於對陣列執行元素級計算以及直接對陣列執行數學運算的函式;
  • 用於讀寫硬碟上基於陣列的資料集的工具;
  • 線性代數運算、傅立葉變換、以及隨機數生成;
  • 用於將C\C++\Fortran程式碼整合到python的工具。

2.pandas

pandas提供了能使我們快速便捷的處理結構化資料的大量資料結構和函式,是python能成為強大而高效的資料分析的重要因素之一。本欄目用的最多的pandas物件是DataFrame,它是一個面向列的二維表結構,且含有行標和列標。

3.matplotlib

matplotlib是最流行的用於繪製資料圖表的python庫,它非常適合用於繪製出版物上的圖表,它跟ipython結合的很好,因而提供了一種非常好用的互動式資料繪製環境,繪製的圖表也是互動的。

4.IPython

IPython是python科學計算標準工具集的組成部分,增強python shell目的是提高編寫、測試、除錯pyhon程式碼的速度。它主要用於互動式資料處理和利用matplotlib對資料進行視覺化處理。

5.Scipy

Scipy是一組專門解決科學計算中各標準問題域的包的集合。主要包括以下:

  • scipy.integrate:數值積分例程和微分方程求解器;
  • scipy.linalg:擴充套件了由numpy.linalg提供的線性代數歷程和矩陣分解功能;
  • scipy.optimize:函式優化器以及根查詢演算法;
  • scipy.signal:訊號處理工具;
  • scipy.sparse:稀疏矩陣和稀疏線性系統求解器;
  • scipy.special:specfun的包裝器;
  • scipy.stats:標準連續和離散概率分佈;
  • scipy.weave:利用內聯的C++程式碼加速陣列計算的工具。

三、python環境安裝和資料分析前的資料準備

python的安裝不做詳解,網上有很多教程,建議以後都使用py3版本的環境,2020年以後將不再對python2做維護。

安裝庫時提供一個整合了python很多科學計算庫的工具anaconda,下載對應的版本執行,就不用一個個裝庫那麼麻煩了。當然若非windows系統而是linux系統那麼就不必大費周章。本欄目使用的資料請自行下載:https://download.csdn.net/download/qq_25491201/10595335

相關文章