纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Pandas模块实现数据的统计分析 Python Pandas模块实现数据的统计分析的方法

夏俊欣   2021-06-24 我要评论
想了解Python Pandas模块实现数据的统计分析的方法的相关内容吗夏俊欣在本文为您仔细讲解Pandas模块实现数据的统计分析的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Pandas模块实现数据的统计分析,Python,pandas下面大家一起来学习吧

一、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()

从上面的结果可以得知在“法国”这一类当中的“女性(Female)”这一类的预估工资的平均值达到了99564欧元“男性”达到了100174欧元

当然除了求平均数之外我们还有其他的统计方式比如“count”、“min”、“max”等等例如下面的代码

customer[['Geography','Gender','EstimatedSalary']].groupby(['Geography','Gender']).agg(['mean','count','max'])

当然我们也可以对不同的列采取不同的统计方式方法例如

customer[['Geography','EstimatedSalary','Balance']].groupby('Geography').agg({'EstimatedSalary':'sum', 'Balance':'mean'})

我们对“EstimatedSalary”这一列做了加总的操作而对“Balance”这一列做了求平均值的操作

二、Crosstab函数

在处理数据时经常需要对数据分组计算均值或者计数在Microsoft Excel中可以通过透视表轻易实现简单的分组运算而对于更加复杂的分组计算“Pandas”模块中的“Crosstab”函数也能够帮助我们实现

例如我们想要计算不同年龄阶段、不同性别的平均工资同时保留一位小数代码如下

pd.crosstab(index=marketing.Age, columns=marketing.Gender, values=marketing.Salary, aggfunc='mean').round(1)

当然我们还可以用该函数来制作一个更加复杂一点的透视表例如下面的代码

pd.crosstab(index=[marketing.Age, marketing.Married], columns=marketing.Gender,values=marketing.Salary, aggfunc='mean', margins=True).round(1)

三、Pivot_table函数

和上面的“Cross_tab”函数的功能相类似对于数据透视表而言由于它的灵活性高可以随意定制你的分析计算要求而且操作性强因此在实际的工作生活当中被广泛使用

例如下面的代码参数“margins”对应表格当中的“All”这一列

pd.pivot_table(data=marketing, index=['Age', 'Married'], columns='Gender', values='Salary', aggfunc='mean', margins=True).round(1)

四、Sidetable函数

“Sidetable”可以被理解为是“Pandas”模块中的第三方的插件它集合了制作透视表以及对数据集做统计分析等功能让我们来实际操作一下吧

首先我们要下载安装这个“Sidetable”组件

pip install sidetable

五、Freq函数

首先介绍的是“Sidetable”插件当中的“Freq”函数里面包含了离散值每个类型的数量其中是有百分比形式来呈现以及数字的形式来呈现还有离散值每个类型的累加总和的呈现具体大家看下面的代码和例子

import sidetable
marketing.stb.freq(['Age'])

“Age”这一列有三大类分别是“Middle”、“Young”以及“Old”的数据例如我们看到表格当中的“Middle”这一列的数量有508个占比有50.8%

marketing.stb.freq(['Age'], value='AmountSpent')

例如上面的代码显示的则是比方说当“Age”是“Middle”的时候也就是中年群体“AmountSpent”的总和也就是花费的总和是762859元

六、Missing函数

“Sidetable”函数当中的“Missing”方法顾名思义就是返回缺失值的数量以及百分比例如下面的代码,“History”这一列的缺失值占到了30.3%

marketing.stb.missing()

七、Counts函数

“Sidetable”函数当中的“counts”方法用来计算各个类型的离散值出现的数量具体看下面的例子

marketing.stb.counts()

例如“Gender”这一列中总共有两个也就是“unique”这一列所代表的值其中“Female”占到的比重更大有506个而“Male”占到的比重更小一些有494个


相关文章

猜您喜欢

网友评论

Copyright 2020 www.gamerfx.net 【游戏天空】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式