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类参数self使用示例
Feb 17 Python
python提示No module named images的解决方法
Sep 29 Python
python中的装饰器详解
Apr 13 Python
python xpath获取页面注释的方法
Jan 14 Python
详解Python的数据库操作(pymysql)
Apr 04 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
利用python求积分的实例
Jul 03 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
Python接口自动化判断元素原理解析
Feb 24 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
PyCharm中配置PySide2的图文教程
Jun 18 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
PHP的FTP学习(四)
2006/10/09 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
CI框架Session.php源码分析
2014/11/03 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
js获取当前select 元素值的代码
2010/04/19 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
python使用正则筛选信用卡
2019/01/27 Python
python列表使用实现名字管理系统
2019/01/30 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python getpass实现密文实例详解
2019/09/24 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
开天辟地观后感
2015/06/09 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书