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标准库06之子进程 (subprocess包) 详解
Dec 07 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
Aug 08 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
Django ORM 自定义 char 类型字段解析
Aug 09 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
python保留格式汇总各部门excel内容的实现思路
Jun 01 Python
python实现ping命令小程序
Dec 28 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 Curl多线程原理实例详解
2013/11/06 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
判断页面是关闭还是刷新的js代码
2007/01/28 Javascript
javascript offsetX与layerX区别
2010/03/12 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
列举Python中吸引人的一些特性
2015/04/09 Python
Python os.access()用法实例
2019/02/18 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
如何利用python生成MD5并去重
2020/12/07 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
旅游个人求职信范文
2014/01/30 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
新春联欢会主持词
2014/03/24 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
2014年超市工作总结
2014/11/19 职场文书
学校安全管理制度
2015/08/06 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
拙作再改《我的收音机情缘》
2022/04/05 无线电