溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么用Pandas模塊實現數據的統計分析

發布時間:2021-06-25 09:16:39 來源:億速云 閱讀:203 作者:chen 欄目:開發技術

本篇內容主要講解“Python怎么用Pandas模塊實現數據的統計分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python怎么用Pandas模塊實現數據的統計分析”吧!

一、groupby函數

Python中的groupby函數,它主要的作用是進行數據的分組以及分組之后的組內的運算,也可以用來探索各組之間的關系,首先我們導入我們需要用到的模塊

import pandas as pd

首先導入我們所需要用到的數據集

customer = pd.read_csv("Churn_Modelling.csv")
marketing = pd.read_csv("DirectMarketing.csv")

我們先從一個簡單的例子著手來看,

customer[['Geography','Gender','EstimatedSalary']].groupby(['Geography','Gender']).mean()

Python怎么用Pandas模塊實現數據的統計分析

從上面的結果可以得知,在“法國”這一類當中的“女性(Female)”這一類的預估工資的平均值達到了99564歐元,“男性”達到了100174歐元

當然除了求平均數之外,我們還有其他的統計方式,比如“count”、“min”、“max”等等,例如下面的代碼

customer[['Geography','Gender','EstimatedSalary']].groupby(['Geography','Gender']).agg(['mean','count','max'])

Python怎么用Pandas模塊實現數據的統計分析

當然我們也可以對不同的列采取不同的統計方式方法,例如

customer[['Geography','EstimatedSalary','Balance']].groupby('Geography').agg({'EstimatedSalary':'sum', 'Balance':'mean'})

Python怎么用Pandas模塊實現數據的統計分析

我們對“EstimatedSalary”這一列做了加總的操作,而對“Balance”這一列做了求平均值的操作

二、Crosstab函數

在處理數據時,經常需要對數據分組計算均值或者計數,在Microsoft Excel中,可以通過透視表輕易實現簡單的分組運算。而對于更加復雜的分組計算,“Pandas”模塊中的“Crosstab”函數也能夠幫助我們實現。

例如我們想要計算不同年齡階段、不同性別的平均工資,同時保留一位小數,代碼如下

pd.crosstab(index=marketing.Age, columns=marketing.Gender, values=marketing.Salary, aggfunc='mean').round(1)

Python怎么用Pandas模塊實現數據的統計分析

當然我們還可以用該函數來制作一個更加復雜一點的透視表,例如下面的代碼

pd.crosstab(index=[marketing.Age, marketing.Married], columns=marketing.Gender,values=marketing.Salary, aggfunc='mean', margins=True).round(1)

Python怎么用Pandas模塊實現數據的統計分析

三、Pivot_table函數

和上面的“Cross_tab”函數的功能相類似,對于數據透視表而言,由于它的靈活性高,可以隨意定制你的分析計算要求,而且操作性強,因此在實際的工作生活當中被廣泛使用,

例如下面的代碼,參數“margins”對應表格當中的“All”這一列

pd.pivot_table(data=marketing, index=['Age', 'Married'], columns='Gender', values='Salary', aggfunc='mean', margins=True).round(1)

Python怎么用Pandas模塊實現數據的統計分析

四、Sidetable函數

“Sidetable”可以被理解為是“Pandas”模塊中的第三方的插件,它集合了制作透視表以及對數據集做統計分析等功能,讓我們來實際操作一下吧

首先我們要下載安裝這個“Sidetable”組件,

pip install sidetable

五、Freq函數

首先介紹的是“Sidetable”插件當中的“Freq”函數,里面包含了離散值每個類型的數量,其中是有百分比形式來呈現以及數字的形式來呈現,還有離散值每個類型的累加總和的呈現,具體大家看下面的代碼和例子

import sidetable
marketing.stb.freq(['Age'])

Python怎么用Pandas模塊實現數據的統計分析

“Age”這一列有三大類分別是“Middle”、“Young”以及“Old”的數據,例如我們看到表格當中的“Middle”這一列的數量有508個,占比有50.8%

marketing.stb.freq(['Age'], value='AmountSpent')

Python怎么用Pandas模塊實現數據的統計分析

例如上面的代碼,顯示的則是比方說當“Age”是“Middle”的時候,也就是中年群體,“AmountSpent”的總和,也就是花費的總和是762859元

六、Missing函數

“Sidetable”函數當中的“Missing”方法顧名思義就是返回缺失值的數量以及百分比,例如下面的代碼,“History”這一列的缺失值占到了30.3%

marketing.stb.missing()

Python怎么用Pandas模塊實現數據的統計分析

七、Counts函數

“Sidetable”函數當中的“counts”方法用來計算各個類型的離散值出現的數量,具體看下面的例子

marketing.stb.counts()

Python怎么用Pandas模塊實現數據的統計分析

例如“Gender”這一列中,總共有兩個,也就是“unique”這一列所代表的值,其中“Female”占到的比重更大,有506個,而“Male”占到的比重更小一些,有494個

到此,相信大家對“Python怎么用Pandas模塊實現數據的統計分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女