Python數據分析和挖掘技術綜述
所謂數據分析,就是對已知的數據進行分析,然後提取壹些有價值的信息,比如統計平均值、標準差等。數據分析的數據量可能不會太大,而數據挖掘就是對大量數據進行分析和挖掘,得到壹些未知的有價值的信息,比如從網站的用戶和用戶行為中挖掘出用戶的潛在需求信息,從而改進網站。
數據分析和數據挖掘密不可分,數據挖掘是數據分析的提升。數據挖掘技術可以幫助我們更好地發現事物之間的規律。因此,我們可以利用數據挖掘技術來幫助我們更好地發現事物之間的規律。比如發掘用戶的潛在需求,實現信息的個性化推送,發現疾病與癥狀甚至疾病與藥物之間的規律。
事先做好壹件事之前,壹定要磨刀霍霍。
先說數據分析的模塊:
先說壹下這些模塊的基本用法。
numpy模塊的安裝和使用
安裝:
下載地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/
我這裏下載的包版本是1.11.3,地址是:http://www.lfd.uci.edu/~ Goh lke/Python libs/f 9 r 7 rmd 8/Numpy-1.165438+
下載後使用pipi install“numpy-1.11.3+mkl-cp35-cp35m-win _ amd64 . whl”。
numpy的安裝版本必須有mkl版本,可以更好的支持numpy。
簡單易用
生成隨機數
主要使用numpy下的隨機方法。
熊貓
只需使用pip安裝熊貓。
直接在代碼上:
我們來看看熊貓的產出結果。這壹行的號碼是哪壹欄?第壹列中的數字是行數。通過第壹行和哪壹列找到壹個:
常用的方法如下:
我們來看看熊貓對數據的統計。先說壹下各線的信息。
轉置函數:將行數轉換為列數,將列數轉換為行數,如下圖:
通過熊貓導入數據
Pandas支持多種輸入格式。我在這裏簡單列舉壹下日常生活中最常用的。更多的輸入法,可以查看後面官網的源代碼。
CSV文件
如果在導入csv文件後顯示輸出,它將根據csv文件的默認行和列數輸出。例如,如果我有五列數據,當prinit輸出結果時,它將顯示五列。
excel電子表格
依賴於xlrd模塊,請安裝它。
像往常壹樣,原始輸出顯示excel的原始結果,只是在每壹行的開頭添加了壹個行號。
讀取SQL
依賴於PyMySQL,所以需要安裝。熊貓以sql作為輸入時,需要公式化兩個參數,第壹個是sql語句,第二個是sql連接實例。
閱讀HTML
依賴於lxml模塊,請安裝它。
對於HTTPS網頁,它依賴於BeautifulSoup4,html5lib模塊。
讀取HTML只讀取HTML中的表,也就是只讀取。
是時候通過python的list展示了,同時加入行和列的標識。
讀取txt文件
當顯示輸出時,將同時添加行和列標識符。
scipy
安裝方法是先下載whl格式的文件,然後通過PIPIPInstall“包名”進行安裝。whl包的下載地址是:http://www.lfd.uci.edu/~ Goh lke/python libs/f9r 7 rmd 8/scipy-0.18.1-cp35-cp35m-win _ amd64 . whl
matplotlib數據的可視化分析
我們可以安裝這個模塊,直接用pip安裝。不需要提前下載whl,通過PIPIPInstall安裝。
看看下面的代碼:
下面說說修改畫圖的風格。
有以下幾種類型的圖形:
關於顏色,有以下幾種:
有以下幾種形狀:
我們還可以稍微修改圖表,並添加壹些樣式。下面,我們可以把點陣圖改成紅點。代碼如下:
我們也可以畫壹條虛線,代碼如下:
您還可以向圖表添加標題,並標記X軸和Y軸。代碼如下。
柱狀圖
使用直方圖可以很好地顯示每個分段的數據。讓我們用隨機數做壹個直方圖。
y軸是出現的次數,x軸是這個數的值(或範圍)。
您也可以通過histtype參數指定直方圖類型:
圖示差異語言無法詳細描述,可以放心嘗試。
例如:
子圖函數
什麽是子圖函數?子圖是可以在壹個大畫板中顯示多個子圖的子圖,每個子圖都是大畫板的壹個子圖。
我們知道plot函數是用來生成壹個圖的,子圖就是subplog。代碼操作如下:
我們現在可以通過壹堆數據畫壹張圖,根據圖很容易發現異常。我們通過壹個csv文件來練習壹下,CSV文件是壹個網站的文章閱讀數和評論數。
先說這個csv的文件結構。第壹欄是序號,第二欄是每篇文章的網址,第三欄是每篇文章的閱讀數,第四欄是每篇文章的評論數。
我們的需求是以評論數為y軸,閱讀數為x軸,所以需要得到第三列和第四列的數據。我們知道獲取數據的方式是通過熊貓的values方法獲取某壹行的值,將該行的值切片得到下標為3(閱讀數)和4(評論數)的值。但是,這只是壹行的值,我們需要這個csv文件下的所有評論和閱讀。我們做什麽呢聰明的妳會說,我定制了兩個列表,我遍歷這個csv文件,把閱讀數和評論數分別加到對應的列表裏。這還不夠嗎?呵呵,其實還有壹個更快的方法,就是用T轉置法,這樣評論數和閱讀數就可以直接通過values法得到了。這個時候我就把matplotlib裏的pylab方法給妳畫出來,然後就OK了。理解了思路之後,再寫。
讓我們看看代碼: