Python Pandas模塊實現(xiàn)數(shù)據(jù)的統(tǒng)計分析的方法
Python中的groupby函數(shù),它主要的作用是進行數(shù)據(jù)的分組以及分組之后的組內(nèi)的運算,也可以用來探索各組之間的關(guān)系,首先我們導(dǎo)入我們需要用到的模塊
import pandas as pd
首先導(dǎo)入我們所需要用到的數(shù)據(jù)集
customer = pd.read_csv('Churn_Modelling.csv')marketing = pd.read_csv('DirectMarketing.csv')
我們先從一個簡單的例子著手來看,
customer[[’Geography’,’Gender’,’EstimatedSalary’]].groupby([’Geography’,’Gender’]).mean()
從上面的結(jié)果可以得知,在“法國”這一類當(dāng)中的“女性(Female)”這一類的預(yù)估工資的平均值達到了99564歐元,“男性”達到了100174歐元
當(dāng)然除了求平均數(shù)之外,我們還有其他的統(tǒng)計方式,比如“count”、“min”、“max”等等,例如下面的代碼
customer[[’Geography’,’Gender’,’EstimatedSalary’]].groupby([’Geography’,’Gender’]).agg([’mean’,’count’,’max’])
當(dāng)然我們也可以對不同的列采取不同的統(tǒng)計方式方法,例如
customer[[’Geography’,’EstimatedSalary’,’Balance’]].groupby(’Geography’).agg({’EstimatedSalary’:’sum’, ’Balance’:’mean’})
我們對“EstimatedSalary”這一列做了加總的操作,而對“Balance”這一列做了求平均值的操作
二、Crosstab函數(shù)在處理數(shù)據(jù)時,經(jīng)常需要對數(shù)據(jù)分組計算均值或者計數(shù),在Microsoft Excel中,可以通過透視表輕易實現(xiàn)簡單的分組運算。而對于更加復(fù)雜的分組計算,“Pandas”模塊中的“Crosstab”函數(shù)也能夠幫助我們實現(xiàn)。
例如我們想要計算不同年齡階段、不同性別的平均工資,同時保留一位小數(shù),代碼如下
pd.crosstab(index=marketing.Age, columns=marketing.Gender, values=marketing.Salary, aggfunc=’mean’).round(1)
當(dāng)然我們還可以用該函數(shù)來制作一個更加復(fù)雜一點的透視表,例如下面的代碼
pd.crosstab(index=[marketing.Age, marketing.Married], columns=marketing.Gender,values=marketing.Salary, aggfunc=’mean’, margins=True).round(1)
和上面的“Cross_tab”函數(shù)的功能相類似,對于數(shù)據(jù)透視表而言,由于它的靈活性高,可以隨意定制你的分析計算要求,而且操作性強,因此在實際的工作生活當(dāng)中被廣泛使用,
例如下面的代碼,參數(shù)“margins”對應(yīng)表格當(dāng)中的“All”這一列
pd.pivot_table(data=marketing, index=[’Age’, ’Married’], columns=’Gender’, values=’Salary’, aggfunc=’mean’, margins=True).round(1)
“Sidetable”可以被理解為是“Pandas”模塊中的第三方的插件,它集合了制作透視表以及對數(shù)據(jù)集做統(tǒng)計分析等功能,讓我們來實際操作一下吧
首先我們要下載安裝這個“Sidetable”組件,
pip install sidetable五、Freq函數(shù)
首先介紹的是“Sidetable”插件當(dāng)中的“Freq”函數(shù),里面包含了離散值每個類型的數(shù)量,其中是有百分比形式來呈現(xiàn)以及數(shù)字的形式來呈現(xiàn),還有離散值每個類型的累加總和的呈現(xiàn),具體大家看下面的代碼和例子
import sidetablemarketing.stb.freq([’Age’])
“Age”這一列有三大類分別是“Middle”、“Young”以及“Old”的數(shù)據(jù),例如我們看到表格當(dāng)中的“Middle”這一列的數(shù)量有508個,占比有50.8%
marketing.stb.freq([’Age’], value=’AmountSpent’)
例如上面的代碼,顯示的則是比方說當(dāng)“Age”是“Middle”的時候,也就是中年群體,“AmountSpent”的總和,也就是花費的總和是762859元
六、Missing函數(shù)“Sidetable”函數(shù)當(dāng)中的“Missing”方法顧名思義就是返回缺失值的數(shù)量以及百分比,例如下面的代碼,“History”這一列的缺失值占到了30.3%
marketing.stb.missing()
“Sidetable”函數(shù)當(dāng)中的“counts”方法用來計算各個類型的離散值出現(xiàn)的數(shù)量,具體看下面的例子
marketing.stb.counts()
例如“Gender”這一列中,總共有兩個,也就是“unique”這一列所代表的值,其中“Female”占到的比重更大,有506個,而“Male”占到的比重更小一些,有494個
到此這篇關(guān)于Python Pandas模塊實現(xiàn)數(shù)據(jù)的統(tǒng)計分析的方法的文章就介紹到這了,更多相關(guān)Pandas模塊實現(xiàn)數(shù)據(jù)的統(tǒng)計分析內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 前端html+css實現(xiàn)動態(tài)生日快樂代碼2. 關(guān)于html嵌入xml數(shù)據(jù)島如何穿過樹形結(jié)構(gòu)關(guān)系的問題3. XML基本概念XPath、XSLT與XQuery函數(shù)介紹4. vue實現(xiàn)復(fù)制文字復(fù)制圖片實例詳解5. WML的簡單例子及編輯、測試方法第1/2頁6. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)7. XML入門的常見問題(三)8. el-input無法輸入的問題和表單驗證失敗問題解決9. 不要在HTML中濫用div10. XML入門的常見問題(四)
