使用Python进行数据分析——方差分析

这篇具有很好参考价值的文章主要介绍了使用Python进行数据分析——方差分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,方差分析可以用来判断几组观察到的数据或者处理的结果是否存在显著差异。本文介绍的方差分析(Analysis of Variance,简称ANOVA)就是用于检验两组或者两组以上样本的均值是否具备显著性差异的一种数理统计方法。

根据影响试验条件的因素个数可以将方差分析分为:单因素方差分析、双因素方差分析、多因素方差分析;双因素方差分析则是分析两个因素对试验指标的影响;多因素方差分析则是分析更多因素指标的分析方法。本文是以不同城市的月薪收入在每个月的水平上是否存在差异就是多组数据是否存在差异的示例:

一、单因素方差分析

单因素方差分析只考虑单一因素对试验指标的影响是否显著:

import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data= pd.read_excel('D:/shujufenxi/jpt.xlsx',index_col=0)
# 先来看下从城市因素开始分析,
df_city=data.melt(var_name='城市',value_name='月薪')#使用melt()函数将读取数据进行结构转换,以满足ols()函数对数据格式的要求,melt()函数能将列标签转换为列数据
python方差分析,python数据分析,数据分析,数据挖掘,信息可视化,Powered by 金山文档
python方差分析,python数据分析,数据分析,数据挖掘,信息可视化,Powered by 金山文档

使用melt()函数对数据结构,并可视化,我们可以以肉眼观察出差异性明显:

import matplotlib.pyplot  as plt
plt.rcParams['font.sans-serif'] = ['KaiTi', 'SimHei', 'FangSong']  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
plt.rcParams['font.size'] = 12  # 字体大小
plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号
import pandas as pd
import seaborn as sns
data= pd.read_excel('D:/shujufenxi/jpt.xlsx',index_col=0)
data_melt = data.melt()
data_melt.columns = ['城市', '月薪']
sns.boxplot(x = '城市', y = '月薪', data = data_melt)
plt.show()
python方差分析,python数据分析,数据分析,数据挖掘,信息可视化,Powered by 金山文档

进行方差分析:

import pandas as pd
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data= pd.read_excel('D:/shujufenxi/jpt.xlsx',index_col=0)
# 先来看下从城市因素开始分析,
df_city=data.melt(var_name='城市',value_name='月薪')#使用melt()函数将读取数据进行结构转换,以满足ols()函数对数据格式的要求,melt()函数能将列标签转换为列数据
model_city=ols('月薪~C(城市)',df_city).fit()# ols()创建一线性回归分析模型
anova_table=anova_lm(model_city)# anova_lm()函数创建模型生成方差分析表
print(anova_table)
# 进行事后比较分析
print(pairwise_tukeyhsd(df_city['月薪'], df_city['城市']))
python方差分析,python数据分析,数据分析,数据挖掘,信息可视化,Powered by 金山文档

在结果图上半部分中df为自由度,sum_sq为误差平方和,mean_sq为平均平方,F代表统计量F值,PR(>F)代表显著性水平P值;下半部分为多重比较,进行事后分析,group1以及group2表示的是因子的不同水平,然后分析他们两个组是否有显著性差异,最后面的reject表示是否拒绝原假设,True表示的是拒绝原假设,说明两组均值有显著性差异。

二、双因素方差分析

双因素方差分析对数据结构的要求和单因素方差分析不同,代码如下:文章来源地址https://www.toymoban.com/news/detail-613138.html

import pandas as pd
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
data= pd.read_excel('D:/shujufenxi/jpt.xlsx',index_col=0)
df_twoway=data.stack().reset_index()
df_twoway.columns=['月份','城市','月薪']
model_twoway=ols('月薪~C(月份)+C(城市)',df_twoway).fit()
anova_table=anova_lm(model_twoway)
print(anova_table
python方差分析,python数据分析,数据分析,数据挖掘,信息可视化,Powered by 金山文档

到了这里,关于使用Python进行数据分析——方差分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Python进行健身手表数据分析

    健身手表(Fitness Watch)数据分析涉及分析健身可穿戴设备或智能手表收集的数据,以深入了解用户的健康和活动模式。这些设备可以跟踪所走的步数、消耗的能量、步行速度等指标。本文将带您完成使用Python进行Fitness Watch数据分析的任务。 Fitness Watch数据分析是健康和保健领域

    2024年02月10日
    浏览(52)
  • Python数据分析案例31——中国A股的月份效应研究(方差分析,虚拟变量回归)

    本次案例是博主本科在行为金融学课程上做的一个小项目,最近看很多经管类的学生作业都很需要,我就用python来重新做了一遍。不弄那些复杂的机器学习模型了,经管类同学就用简单的统计学方法来做模型就好。 有效市场假说是现代金融证券市场的理论基础之一,根据这一

    2024年01月22日
    浏览(81)
  • 使用Python对物流行业数据进行数据分析

    Excel适合处理低量级数据,当数据量过高,Excel只能展现部分数据,不利于后续的数据分析,此时使用Python进行数据分析更加方便,有效。 先使用info()函数查看数据信息 从图中可以看出该物流数据共有1160条数据,每条数据有10列,其中 订单号 、 货品交货状况 和 数量 列存在

    2024年02月10日
    浏览(44)
  • 使用Python进行数据分析——描述性统计分析

    大家好,描述性统计分析主要是指求一组数据的平均值、中位数、众数、极差、方差和标准差等指标,通过这些指标来发现这组数据的分布状态、数字特征等内在规律。在Python中进行描述性统计分析,可以借助Numpy、Pandas、SciPy等科学计算模块计算出指标,然后用绘图模块Ma

    2024年02月07日
    浏览(51)
  • Python 2.x 中如何使用pandas模块进行数据分析

    Python 2.x 中如何使用pandas模块进行数据分析 概述: 在数据分析和数据处理过程中,pandas是一个非常强大且常用的Python库。它提供了数据结构和数据分析工具,可以实现快速高效的数据处理和分析。本文将介绍如何在Python 2.x中使用pandas进行数据分析,并为读者提供一些代码示例

    2024年02月13日
    浏览(58)
  • Python数据分析与应用 |第4章 使用pandas进行数据预处理 (实训)

    编号 性别 高血压 是否结婚 工作类型 居住类型 体重指数 吸烟史 中风 9046 男 否 是 私人 城市 36.6 以前吸烟 是 51676 女 否 是 私营企业 农村 N/A 从不吸烟 是 31112 男 否 是 私人 农村 32.5 从不吸烟 是 60182 女 否 是 私人 城市 34.4 抽烟 是 1665 女 是 是 私营企业 农村 24 从不吸烟 是

    2024年04月23日
    浏览(45)
  • Python实战 | 使用 Python 的日志库(logging)和 pandas 库对日志数据进行分析

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月05日
    浏览(53)
  • 【Python数据分析】实践编写篇3:在Python中使用三阶指数平滑模型对金融数据集进行拟合与预测

    目录 一、前期准备 二、数据来源与样式  三、数据的预处理 (一)表格处理 (二)数据导入 (三)数据处理  四、模型构建(指数平滑) (一)数据作图 (二)观察季节性与趋势 (三)一阶指数平滑 (四)二阶指数平滑 (五)三阶指数平滑 (六)均方误(MSE)比较  

    2024年02月17日
    浏览(51)
  • 使用Python获取建筑网站数据,进行可视化分析,并实现网站JS解密!

    哈喽兄弟们,今天来实现一下建筑市场公共服务平台的数据采集,顺便实现一下网站的JS解密。 话不多说,我们直接开始今天的内容。   首先我们需要准备这些 环境使用 Python 3.8 Pycharm 模块使用 requests -- pip install requests execjs -- pip install PyExecJS json 爬虫基本流程思路 一. 数据

    2024年02月08日
    浏览(52)
  • Python 3 中使用 pandas 和 Jupyter Notebook 进行数据分析和可视化

    简介 Python 的 pandas 包用于数据操作和分析,旨在让您以直观的方式处理带标签或关联数据。 pandas 包提供了电子表格功能,但由于您正在使用 Python,因此它比传统的图形电子表格程序要快得多且更高效。 在本教程中,我们将介绍如何设置一个大型数据集, pandas 的 groupby() 和

    2024年02月19日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包