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实现在pickling的时候压缩的方法
Sep 25 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
Python中获取对象信息的方法
Apr 27 Python
python类中super()和__init__()的区别
Oct 18 Python
PyQt5每天必学之组合框
Apr 20 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
python将控制台输出保存至文件的方法
Jan 07 Python
Python 调用 Windows API COM 新法
Aug 22 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
jupyter 导入csv文件方式
Apr 21 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 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多任务程序实例解析
2014/07/19 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
简单实现PHP留言板功能
2016/12/21 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
javascript获取选中的文本的方法代码
2013/10/30 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
2017/05/03 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
轻松掌握python设计模式之策略模式
2016/11/18 Python
mac系统安装Python3初体验
2018/01/02 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
详解Python中的四种队列
2018/05/21 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
关于numpy数组轴的使用详解
2019/12/05 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
详解HTML5表单新增属性
2016/12/21 HTML / CSS
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
开办大学饮食联盟创业计划书
2014/01/29 职场文书
小班秋游活动方案
2014/02/22 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python
python垃圾回收机制原理分析
2022/04/13 Python