當前位置:
首頁 > 最新 > Python開源數據分析工具TOP 3!

Python開源數據分析工具TOP 3!

更多精彩 第一時間直達

?摘要

在大資料庫領域,Python是最常被使用的編程語言,因此了解與其相關的數據分析工具是很有必要的。如果你正在使用virtualenv、pyenv或其他變體在自己的環境中運行Python,那麼,可以嘗試本文推薦的三大開源工具。

(註:本文示例使用IPython,請確保已經安裝)

本文選取的示例數據是最近幾天從某網站獲取的實際生產日誌數據,從技術層面來看,這些數據並不能算作是大數據,因為它的大小只有大約2Mb,但就演示來說已經足夠了。

如果你想獲取這些示例數據,可以使用git從作者的公共GitHub存儲庫中下載:admintome / access-log-data

數據是一個簡單的CSV文件,因此每行代表一個單獨的日誌,欄位用逗號分隔:

以下是日誌行架構:

由於對數據可執行的操作的複雜性不確定,因此本文重點選取載入數據和獲取數據樣本兩個操作來講解三個工具。

1、Python Pandas

我們討論的第一個工具是Python Pandas。正如它的網站所述,Pandas是一個開源的Python數據分析庫。它最初由AQR Capital Management於2008年4月開發,並於2009年底開源。

目前由專註於Python數據包開發的PyData開發團隊繼續開發和維護,屬於PyData項目的一部分。Pandas最初被作為金融數據分析工具而開發出來,因此,pandas為時間序列分析提供了很好的支持。

首先,啟動IPython並對示例數據進行一些操作。(因為pandas是python的第三方庫所以使用前需要安裝一下,直接使用pip install pandas 就會自動安裝pandas以及相關組件)

大約一秒後,我們會收到如下回復:

如上所見,我們有大約7000行數據,它從中找到了四個與上述模式匹配的列。

Pandas自動創建了一個表示CSV文件的DataFrame對象,Pandas中的DataFrame數據既可以存儲在SQL資料庫中,也可以直接存儲在CSV文件中。接下來我們使用head()函數導入數據樣本。

使用Python Pandas可以做很多事情, 數據科學家通常將Python Pandas與IPython一起使用,以交互方式分析大量數據集,並從該數據中獲取有意義的商業智能。

2、PySpark

我們討論的第二個工具是PySpark,該工具來自Apache Spark項目的大數據分析庫。PySpark提供了許多用於在Python中分析大數據的功能,它自帶shell,用戶可以從命令行運行。

這會載入pyspark shell:

當你啟動shell時,你會得到一個Web GUI查看你的工作狀態,只需瀏覽到http:// localhost:4040即可獲得PySpark Web GUI。

讓我們使用PySpark Shell載入示例數據:

PySpark提供了已創建的DataFrame示例:

我們再次看到DataFrame中有四列與我們的模式匹配,DataFrame此處可以被視為資料庫表或Excel電子表格。

3、Python SciKit-Learn

任何關於大數據的討論都會引發關於機器學習的討論,幸運的是,Python開發人員有很多選擇來使用機器學習演算法。

在沒有詳細介紹機器學習的情況下,我們需要獲得一些執行機器學習的數據,在本文中提供的示例數據不能正常工作,因為它不是數字類型的數據。

我們需要操縱數據並將其呈現為數字格式,這超出了本文的範圍,例如,我們可以按時間映射日誌以獲得具有兩列的DataFrame:一分鐘內的日誌數和當前時間:

通過這種形式的數據,我們可以執行機器學習演算法來預測未來可能獲得的訪客數量,SciKit-Learn附帶了一些樣本數據集,我們可以載入一些示例數據,來看一下具體如何運作。

這將載入兩個用於機器學習分類的演算法,用於對數據進行分類。

結論

在大數據領域,Python、R以及Scala是主要的參與者,開源社區中有不少針對這三者的工具,國內互聯網企業一向很喜歡基於開源工具自研,選擇之前不妨做好功課,抽取使用人數較多且應用場景最接近實際需求的方案。

IT168企業級

讓一部分人先看到企業IT的未來


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

13條Python2.x和3.x的區別,你知道幾條?
Python守護進程命令,為何被黑客鐘意?整蠱、木馬都用得上它!

TAG:Python |