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中的__future__模块
Apr 27 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
python多个模块py文件的数据共享实例
Jan 11 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
python正则表达式实例代码
Mar 03 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
keras多显卡训练方式
Jun 10 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 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应用提速面面观
2006/10/09 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
php验证手机号码
2015/11/11 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
js判断密码强度的方法
2020/03/18 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
jupyter notebook 重装教程
2020/04/16 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
python实现ping命令小程序
2020/12/28 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang