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 2.7.14安装图文教程
Apr 08 Python
详解Python如何生成词云的方法
Jun 01 Python
python3利用tcp实现文件夹远程传输
Jul 28 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
matplotlib实现显示伪彩色图像及色度条
Dec 07 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
openstack中的rpc远程调用的方法
Jul 09 Python
Python中的嵌套循环详情
Mar 23 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
js实现常用排序算法
2016/08/09 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
vue项目国际化vue-i18n的安装使用教程
2018/03/14 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
Python的函数的一些高阶特性
2015/04/27 Python
Python字符串匹配算法KMP实例
2015/07/18 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python中函数参数匹配模型详解
2019/06/09 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
python实现五子棋程序
2020/04/24 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
党员作风建设自查报告
2014/10/23 职场文书
期中考试复习计划
2015/01/19 职场文书
大学生求职信怎么写
2015/03/19 职场文书
《春酒》教学反思
2016/02/22 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis