Python Pandas模块实现数据的统计分析的方法


Posted in Python onJune 24, 2021

一、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模块实现数据的统计分析的方法的文章就介绍到这了,更多相关Pandas模块实现数据的统计分析内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
python中int与str互转方法
Jul 02 Python
使用tensorflow实现线性回归
Sep 08 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
Python简易版图书管理系统
Aug 12 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
Python:slice与indices的用法
Nov 25 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
python opencv实现信用卡的数字识别
Jan 12 Python
sklearn的predict_proba使用说明
Jun 28 Python
python中time包实例详解
Feb 02 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
FP-growth算法发现频繁项集——发现频繁项集
能让Python提速超40倍的神器Cython详解
Jun 24 #Python
FP-growth算法发现频繁项集——构建FP树
python ansible自动化运维工具执行流程
关于python中readlines函数的参数hint的相关知识总结
详解Python为什么不用设计模式
linux中nohup和后台运行进程查看及终止
Jun 24 #Python
You might like
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
php常用数组函数实例小结
2016/12/29 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
2013/04/23 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
公司离职证明标准范本
2014/10/05 职场文书
幼儿学前班评语
2014/12/29 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
Pandas加速代码之避免使用for循环
2021/05/30 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技