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写asp详细讲解
Dec 16 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
python TKinter获取文本框内容的方法
Oct 11 Python
详解Python sys.argv使用方法
May 10 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
python如何从文件读取数据及解析
Sep 19 Python
python函数局部变量、全局变量、递归知识点总结
Nov 15 Python
利用python实现冒泡排序算法实例代码
Dec 01 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
python画图常规设置方式
Mar 05 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木马攻击防御之道
2008/03/24 PHP
php计算十二星座的函数代码
2012/08/21 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
JS日历 推荐
2006/12/03 Javascript
网页设计常用的一些技巧
2006/12/22 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
源码分析Vue.js的监听实现教程
2017/04/23 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
用Python进行TCP网络编程的教程
2015/04/29 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
Python3处理HTTP请求的实例
2018/05/10 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
中学生期中自我鉴定
2014/04/20 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
环保建议书范文
2015/09/14 职场文书
Java版 简易五子棋小游戏
2022/05/04 Java/Android