導航:首頁 > 編程語言 > 利用python進行數據分析教程

利用python進行數據分析教程

發布時間:2024-02-24 19:20:25

1. python怎麼做大數據分析

數據獲取:公開數據、Python爬蟲外部數據的獲取方式主要有以下兩種。(推薦學習:Python視頻教程)
第一種是獲取外部的公開數據集,一些科研機構、企業、政府會開放一些數據,你需要到特定的網站去下載這些數據。這些數據集通常比較完善、質量相對較高。
另一種獲取外部數據的方式就是爬蟲。
比如你可以通過爬蟲獲取招聘網站某一職位的招聘信息,爬取租房網站上某城市的租房信息,爬取豆瓣評分評分最高的電影列表,獲取知乎點贊排行、網易雲音樂評論排行列表。基於互聯網爬取的數據,你可以對某個行業、某種人群進行分析。
在爬蟲之前你需要先了解一些 Python 的基礎知識:元素(列表、字典、元組等)、變數、循環、函數………
以及,如何用 Python 庫(urlpb、BeautifulSoup、requests、scrapy)實現網頁爬蟲。
掌握基礎的爬蟲之後,你還需要一些高級技巧,比如正則表達式、使用cookie信息、模擬用戶登錄、抓包分析、搭建代理池等等,來應對不同網站的反爬蟲限制。
數據存取:SQL語言
在應對萬以內的數據的時候,Excel對於一般的分析沒有問題,一旦數據量大,就會力不從心,資料庫就能夠很好地解決這個問題。而且大多數的企業,都會以SQL的形式來存儲數據。
SQL作為最經典的資料庫工具,為海量數據的存儲與管理提供可能,並且使數據的提取的效率大大提升。你需要掌握以下技能:
提取特定情況下的數據
資料庫的增、刪、查、改
數據的分組聚合、如何建立多個表之間的聯系
數據預處理:Python(pandas)
很多時候我們拿到的數據是不幹凈的,數據的重復、缺失、異常值等等,這時候就需要進行數據的清洗,把這些影響分析的數據處理好,才能獲得更加精確地分析結果。
對於數據預處理,學會 pandas (Python包)的用法,應對一般的數據清洗就完全沒問題了。需要掌握的知識點如下:
選擇:數據訪問
缺失值處理:對缺失數據行進行刪除或填充
重復值處理:重復值的判斷與刪除
異常值處理:清除不必要的空格和極端、異常數據
相關操作:描述性統計、Apply、直方圖等
合並:符合各種邏輯關系的合並操作
分組:數據劃分、分別執行函數、數據重組
Reshaping:快速生成數據透視表
概率論及統計學知識
需要掌握的知識點如下:
基本統計量:均值、中位數、眾數、百分位數、極值等
其他描述性統計量:偏度、方差、標准差、顯著性等
其他統計知識:總體和樣本、參數和統計量、ErrorBar
概率分布與假設檢驗:各種分布、假設檢驗流程
其他概率論知識:條件概率、貝葉斯等
有了統計學的基本知識,你就可以用這些統計量做基本的分析了。你可以使用 Seaborn、matplotpb 等(python包)做一些可視化的分析,通過各種可視化統計圖,並得出具有指導意義的結果。
Python 數據分析
掌握回歸分析的方法,通過線性回歸和邏輯回歸,其實你就可以對大多數的數據進行回歸分析,並得出相對精確地結論。這部分需要掌握的知識點如下:
回歸分析:線性回歸、邏輯回歸
基本的分類演算法:決策樹、隨機森林……
基本的聚類演算法:k-means……
特徵工程基礎:如何用特徵選擇優化模型
調參方法:如何調節參數優化模型
Python 數據分析包:scipy、numpy、scikit-learn等
在數據分析的這個階段,重點了解回歸分析的方法,大多數的問題可以得以解決,利用描述性的統計分析和回歸分析,你完全可以得到一個不錯的分析結論。
當然,隨著你實踐量的增多,可能會遇到一些復雜的問題,你就可能需要去了解一些更高級的演算法:分類、聚類。
然後你會知道面對不同類型的問題的時候更適合用哪種演算法模型,對於模型的優化,你需要去了解如何通過特徵提取、參數調節來提升預測的精度。
你可以通過 Python 中的 scikit-learn 庫來實現數據分析、數據挖掘建模和分析的全過程。
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python怎麼做大數據分析的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

2. python數據分析干什麼

隨著大數據時代的來臨和Python編程語言的火爆,Python數據分析早已成為現在職場人的必備核心技能。
1、檢查數據表
Python中使用shape函數來查看數據表的維度,也就是行數和列數。
2、數據表清洗
Python中處理空值的方法比較靈活,可以使用Dropna函數用來刪除數據表中包含空值的數據,也可以使用fillna函數對空值進行填充。
3、數據預處理
數據預處理是對清洗完的數據進行整理以便後期的統計和分析工作,主要包括數據表的合並、排序、數值分列、數據分組及標記等工作。
4、數據提取
主要是使用三個函數:loc、iloc和ix,其中loc函數按標簽值進行提取,iloc按位置進行提取,ix可以同時按標簽和位置進行提取。
5、數據篩選匯總
Python中使用loc函數配合篩選條件來完成篩選功能,配合sum和 count函數還能實現excel中sumif和countif函數的功能。
希望可以幫到你

3. python如何做數據分析

Python做數據分析比較好用且流行的是numpy、pandas庫,有興趣的話,可以深入了解、學習一下。

4. python大數據挖掘系列之基礎知識入門 知識整理(入門教程含源碼

Python在大數據行業非常火爆近兩年,as a pythonic,所以也得涉足下大數據分析,下面就聊聊它們。

Python數據分析與挖掘技術概述

所謂數據分析,即對已知的數據進行分析,然後提取出一些有價值的信息,比如統計平均數,標准差等信息,數據分析的數據量可能不會太大,而數據挖掘,是指對大量的數據進行分析與挖倔,得到一些未知的,有價值的信息等,比如從網站的用戶和用戶行為中挖掘出用戶的潛在需求信息,從而對網站進行改善等。
數據分析與數據挖掘密不可分,數據挖掘是對數據分析的提升。數據挖掘技術可以幫助我們更好的發現事物之間的規律。所以我們可以利用數據挖掘技術可以幫助我們更好的發現事物之間的規律。比如發掘用戶潛在需求,實現信息的個性化推送,發現疾病與病狀甚至病與葯物之間的規律等。

預先善其事必先利其器

我們首先聊聊數據分析的模塊有哪些:

下面就說說這些模塊的基礎使用。

numpy模塊安裝與使用

安裝:
下載地址是:http://www.lfd.uci.e/~gohlke/pythonlibs/
我這里下載的包是1.11.3版本,地址是:http://www.lfd.uci.e/~gohlke/pythonlibs/f9r7rmd8/numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl
下載好後,使用pip install "numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl"
安裝的numpy版本一定要是帶mkl版本的,這樣能夠更好支持numpy

numpy簡單使用

生成隨機數

主要使用numpy下的random方法。

pandas

使用 pip install pandas 即可

直接上代碼:
下面看看pandas輸出的結果, 這一行的數字第幾列,第一列的數字是行數,定位一個通過第一行,第幾列來定位:

常用方法如下:

下面看看pandas對數據的統計,下面就說說每一行的信息

轉置功能:把行數轉換為列數,把列數轉換為行數,如下所示:

通過pandas導入數據

pandas支持多種輸入格式,我這里就簡單羅列日常生活最常用的幾種,對於更多的輸入方式可以查看源碼後者官網。

CSV文件

csv文件導入後顯示輸出的話,是按照csv文件默認的行輸出的,有多少列就輸出多少列,比如我有五列數據,那麼它就在prinit輸出結果的時候,就顯示五列

excel表格

依賴於xlrd模塊,請安裝它。
老樣子,原滋原味的輸出顯示excel本來的結果,只不過在每一行的開頭加上了一個行數

讀取SQL

依賴於PyMySQL,所以需要安裝它。pandas把sql作為輸入的時候,需要制定兩個參數,第一個是sql語句,第二個是sql連接實例。

讀取HTML

依賴於lxml模塊,請安裝它。
對於HTTPS的網頁,依賴於BeautifulSoup4,html5lib模塊。
讀取HTML只會讀取HTML里的表格,也就是只讀取

顯示的是時候是通過python的列表展示,同時添加了行與列的標識

讀取txt文件

輸出顯示的時候同時添加了行與列的標識

scipy

安裝方法是先下載whl格式文件,然後通過pip install 「包名」 安裝。whl包下載地址是:http://www.lfd.uci.e/~gohlke/pythonlibs/f9r7rmd8/scipy-0.18.1-cp35-cp35m-win_amd64.whl

matplotlib 數據可視化分析

我們安裝這個模塊直接使用pip install即可。不需要提前下載whl後通過 pip install安裝。

下面請看代碼:

下面說說修改圖的樣式

關於圖形類型,有下面幾種:

關於顏色,有下面幾種:

關於形狀,有下面幾種:

我們還可以對圖稍作修改,添加一些樣式,下面修改圓點圖為紅色的點,代碼如下:

我們還可以畫虛線圖,代碼如下所示:

還可以給圖添加上標題,x,y軸的標簽,代碼如下所示

直方圖

利用直方圖能夠很好的顯示每一段的數據。下面使用隨機數做一個直方圖。

Y軸為出現的次數,X軸為這個數的值(或者是范圍)

還可以指定直方圖類型通過histtype參數:

圖形區別語言無法描述很詳細,大家可以自信嘗試。

舉個例子:

子圖功能

什麼是子圖功能呢?子圖就是在一個大的畫板裡面能夠顯示多張小圖,每個一小圖為大畫板的子圖。
我們知道生成一個圖是使用plot功能,子圖就是subplog。代碼操作如下:

我們現在可以通過一堆數據來繪圖,根據圖能夠很容易的發現異常。下面我們就通過一個csv文件來實踐下,這個csv文件是某個網站的文章閱讀數與評論數。


先說說這個csv的文件結構,第一列是序號,第二列是每篇文章的URL,第三列每篇文章的閱讀數,第四列是每篇評論數。


我們的需求就是把評論數作為Y軸,閱讀數作為X軸,所以我們需要獲取第三列和第四列的數據。我們知道獲取數據的方法是通過pandas的values方法來獲取某一行的值,在對這一行的值做切片處理,獲取下標為3(閱讀數)和4(評論數)的值,但是,這里只是一行的值,我們需要是這個csv文件下的所有評論數和閱讀數,那怎麼辦?聰明的你會說,我自定義2個列表,我遍歷下這個csv文件,把閱讀數和評論數分別添加到對應的列表裡,這不就行了嘛。呵呵,其實有一個更快捷的方法,那麼就是使用T轉置方法,這樣再通過values方法,就能直接獲取這一評論數和閱讀數了,此時在交給你matplotlib里的pylab方法來作圖,那麼就OK了。了解思路後,那麼就寫吧。

下面看看代碼:

5. 使用python對txt文本進行分析和提取

實現的方法和詳細的操作步驟如下:

1、首先,打開計算機上的pycharm編輯器,如下圖所示,然後進入下一步。

6. 數據分析員用python做數據分析是怎麼回事,需要用到python中的那些內容,具體是怎麼操作的

大數據!大數據!其實是離不開數據二字,但是總體來講,自己之前對數據的認知是不太夠的,更多是在關注技術的提升上。換句話講,自己是在做技術,這些技術處理的是數據,而不能算是自己是在做數據的。大規模數據的處理是一個非常大的課題,但是這一點更偏向於是搞技術的。

與數據分析相關的Python庫很多,比如Numpy、pandas、matplotlib、scipy等,數據分析的操作包括數據的導入和導出、數據篩選、數據描述、數據處理、統計分析、可視化等等。接下來我們看一下如何利用Python完成數據的分析。
生成數據表
常見的生成方法有兩種,第一種是導入外部數據,第二種是直接寫入數據,Python支持從多種類型的數據導入。在開始使用Python進行數據導入前需要先導入pandas庫,為了方便起見,我們也同時導入Numpy庫。代碼是最簡模式,裡面有很多可選參數設置,例如列名稱、索引列、數據格式等等。
檢查數據表
Python中使用shape函數來查看數據表的維度,也就是行數和列數。你可以使用info函數查看數據表的整體信息,使用dtypes函數來返回數據格式。Isnull是Python中檢驗空值的函數,你可以對整個數據表進行檢查,也可以單獨對某一列進行空值檢查,返回的結果是邏輯值,包含空值返回True,不包含則返回False。使用unique函數查看唯一值,使用Values函數用來查看數據表中的數值。
數據表清洗
Python中處理空值的方法比較靈活,可以使用Dropna函數用來刪除數據表中包含空值的數據,也可以使用fillna函數對空值進行填充。Python中dtype是查看數據格式的函數,與之對應的是astype函數,用來更改數據格式,Rename是更改列名稱的函數,drop_plicates函數刪除重復值,replace函數實現數據替換。
數據預處理
數據預處理是對清洗完的數據進行整理以便後期的統計和分析工作,主要包括數據表的合並、排序、數值分列、數據分組及標記等工作。在Python中可以使用merge函數對兩個數據表進行合並,合並的方式為inner,此外還有left、right和outer方式。使用ort_values函數和sort_index函數完成排序,使用where函數完成數據分組,使用split函數實現分列。
數據提取
主要是使用三個函數:loc、iloc和ix,其中loc函數按標簽值進行提取,iloc按位置進行提取,ix可以同時按標簽和位置進行提取。除了按標簽和位置提起數據以外,還可以按具體的條件進行數據,比如使用loc和isin兩個函數配合使用,按指定條件對數據進行提取。
數據篩選匯總
Python中使用loc函數配合篩選條件來完成篩選功能,配合sum和 count函數還能實現excel中sumif和countif函數的功能。Python中使用的主要函數是groupby和pivot_table。groupby是進行分類匯總的函數,使用方法很簡單,制定要分組的列名稱就可以,也可以同時制定多個列名稱,groupby 按列名稱出現的順序進行分組。

7. Python數據分析(八):農糧組織數據集探索性分析(EDA)

這里我們用 FAO(Food and Agriculture Organization) 組織提供的數據集,練習一下如何利用python進行探索性數據分析。

我們先導入需要用到的包

接下來,載入數據集

看一下數據量,

看一下數據的信息,

我們先來看一下variable,variable_full這兩列的信息,

看一下統計了多少國家,

看一下有多少個時間周期,

看一下時間周期有哪些,

我們看一下某一列某個指標的缺失值的個數,比如variable是total_area時缺失值的個數,

我們通過幾個維度來進行數據的分析:

我們按照上面的處理繼續,現在我們想統計一下對於一個時間周期來說,不同國家在這個周期內的變化情況,

我們也可以按照國家分類,查看某個國家在不同時期的變化,

我們還可以根據屬性,查看不同國家在不同周期內的變化情況,

我們還可以給定國家和指標,查看這個國家在這個指標上的變化情況,

我們還有region(區域)沒有查看,我們來看一下:

通過上圖可以看出,區域太多,不便於觀察,我們可以將一些區域進行合並。減少區域數量有助於模型評估,可以創建一個字典來查找新的,更簡單的區域(亞洲,北美洲,南美洲,大洋洲)

我們來看一下數據變化,

緊接著上面的數據處理,我們重新導入一下包,這次有一些新包,

我們看一下水資源的情況,

通過上圖可以看出只有一小部分國家報告了可利用的水資源總量,這些國家中只有極少數國家擁有最近一段時間的數據,我們將刪除變數,因為這么少的數據點會導致很多問題。

接下來我們看一下全國降雨指數,

全國降雨在2002年以後不再報到,所以我們也刪除這個數據,

我們單獨拿出一個洲來進行分析,舉例南美洲,我們來看一下數據的完整性,

我們也可以指定不同的指標,

接下來,我們使用 pandas_profiling 來對單變數以及多變數之間的關系進行統計一下,

這里我們要計算的是,比如

我們按照 rural_pop 從小到大進行排序,發現的確有幾個國家的農村人口是負數,

人口數目是不可能小於0,所以這說明數據有問題,存在臟數據,如果做分析預測時,要注意將這些臟數據處理一下。

接下來我們看一下偏度,我們規定,

正態分布的偏度應為零,負偏度表示左偏,正偏表示右偏。

偏度計算完後,我們計算一下峰度, 峰度也是一個正態分布,峰度不能為負,只能是正數 ,越大說明越陡峭,

接下來我們看一下,如果數據分布非常不均勻該怎麼辦呢,

上圖是2013-2017年國家總人數的分布,通過上圖我們發現,人口量少於200000(不考慮單位)的國家非常多,人口大於1200000的國家非常少,如果我們需要建模的話,這種數據我們是不能要的。這個時候我們應該怎麼辦呢?

通常,遇到這種情況,使用 log變換 將其變為正常。 對數變換 是數據變換的一種常用方式,數據變換的目的在於使數據的呈現方式接近我們所希望的前提假設,從而更好的進行統計推斷。

接下來,我們用log轉換一下,並看一下它的偏度和峰值,

可以看出偏度下降了很多,減少了傾斜。

可以發現峰度也下降了,接下來我們看一下經過log轉換後的數據分布,

雖然數據還有一些偏度,但是明顯好了很多,呈現的分布也比較標准。

首先我們先來看一下美國的人口總數隨時間的變化,

接下來,我們查看北美洲每個國家人口總數隨著時間的變化,

這個時候我們發現,一些國家由於人口數量本身就少,所以整個圖像顯示的不明顯,我們可以改變一下參照指標,那我們通過什麼標准化?我們可以選擇一個國家的最小、平均、中位數、最大值...或任何其他位置。那我們選擇最小值,這樣我們就能看到每個國家的起始人口上的增長。

我們也可以用熱度圖來展示,用顏色的深淺來比較大小關系,

接下來我們分析一下水資源的分布情況,

我們可以進行一下log轉換,

我們用熱度圖畫一下,

連續值可以畫成散點圖,方便觀看,
我們來看一下隨著季節變化,人均GDP的變化情況,

相關程度:
相關度量兩個變數之間的線性關系的強度,我們可以用相關性來識別變數。

現在我們單獨拿出來一個指標分析是什麼因素與人均GDP的變化有關系,正相關就是積極影響,負相關就是消極影響。

當我們在畫圖的時候也可以考慮一下利用bined設置一下區間,比如說連續值我們可以分成幾個區間進行分析,這里我們以人均GDP的數量來進行分析,我們可以將人均GDP的數據映射到不同的區間,比如人均GDP比較低,比較落後的國家,以及人均GDP比較高,比較發達的國家,這個也是我們經常需要的操作,

做一下log變換,這里是25個bin

我們指定一下分割的標准,

我們還可以看一下人均GDP較低,落後國家的內部數據,下面我們看一下內部數據分布情況,用boxplot進行畫圖,

對於這部分的分布,我們還可以統計看一下其他指標,如下圖所示,我們還可以看一下洪水的統計信息,

閱讀全文

與利用python進行數據分析教程相關的資料

熱點內容
linux查看路由表命令 瀏覽:505
高手程序員使用什麼筆記本 瀏覽:439
ios壓縮圖片app 瀏覽:838
排隊論pdf 瀏覽:520
python調用無參函數 瀏覽:798
主管開除女程序員 瀏覽:712
雲伺服器轉售 瀏覽:540
壓縮空氣漏氣量怎樣計算 瀏覽:102
手機app是怎麼跳轉的 瀏覽:664
學編程的重要性 瀏覽:24
程序員去按摩 瀏覽:739
奧迪手機控車app怎麼添加愛車 瀏覽:4
收磚機石獅編程培訓廠家 瀏覽:761
吉里吉里2安卓模擬器怎麼用 瀏覽:818
編譯器將匯編代碼 瀏覽:681
電路板加密錯誤 瀏覽:21
java自動機 瀏覽:363
相機連拍解壓 瀏覽:31
linuxssh服務重啟命令 瀏覽:330
茂名氫氣隔膜壓縮機 瀏覽:47