Python 探索性数据分析(EDA)实战:从描述统计到相关性分析
本文详解 Python 中的探索性数据分析(EDA)流程。通过 Pandas 的 describe() 和 value_counts() 快速获取数据分布与分类计数,利用 matplotlib 绘制箱线图识别异常值。进一步使用 groupby 进行分组统计,结合 scipy 的 f_oneway() 执行 ANOVA 方差分析,并通过 Pearson 相关系数评估变量间的相关性,帮助数据分析师深入理解数据特征与变量关系。
什么是探索性数据分析(EDA)?
EDA 是数据分析中的一种关键方法,旨在深入理解数据的内在属性,例如: – 数据的核心特征 – 变量之间存在的关联 – 识别对解决特定问题至关重要的变量
我们将探讨以下几种主要的探索性数据分析技术:
- 描述性统计:这是一种简要概述数据集的方法,涵盖样本的关键度量指标和特征。
- 分组数据:利用 group by 进行基础的数据分组操作。
- ANOVA(方差分析):这是一种计算方法,用于将观察集中的变异分解为不同的组成部分。
- 相关性与相关性计算方法。
我们将使用的数据集是子投票数据集,您可以在 Python 中通过以下方式导入:
import pandas as pd
Df = pd.read_csv("https://vincentarelbundock.github.io / Rdatasets / csv / car / Child.csv")描述性统计
描述性统计是了解数据特征并快速总结数据的有效手段。在 Python 中,Pandas 库提供了便捷的 describe() 方法。该函数对数据集执行基本统计计算,包括极值、数据点计数、标准差等。任何缺失值或 NaN 值都会被自动跳过。describe() 函数能够很好地描绘数据的分布情况。
DF.describe()运行上述代码后,您将得到如下输出:

另一种有用的方法是 value_counts(),它可以获取分类属性值系列中每个类别的计数。例如,假设您正在处理一个客户数据集,这些客户在列名 age 下分为青年、中年和老年类别,并且您的数据框是“DF”。您可以运行此语句以了解有多少人属于各个类别。在我们的数据集示例中,可以使用教育列来进行类似操作。
DF["education"].value_counts()上述代码的输出将是:

另一个有用的工具是 boxplot,您可以通过 matplotlib 模块使用它。箱线图是数据分布的图形表示,显示极值、中位数和四分位数。我们可以使用箱线图轻松找出异常值。现在再次考虑我们一直在处理的数据集,让我们在属性总体上绘制一个箱线图。
import pandas as pd
import matplotlib.pyplot as plt
DF = pd.read_csv("https://raw.githubusercontent.com / fivethirtyeight / data / master / airline-safety / airline-safety.csv")
y = list(DF.population)
plt.boxplot(y)
plt.show()发现异常值后,输出图将如下所示:

分组数据
Group by 是 pandas 中可用的一个有趣的度量,它可以帮助我们找出不同分类属性对其他数据变量的影响。让我们看一个在同一数据集上的示例,我们想找出人们的年龄和教育对投票数据集的影响。
DF.groupby(['education', 'vote']).mean()输出会有点像这样:

如果按输出表进行分组难以理解,则进一步的分析师使用数据透视表和热图对其进行可视化。
方差分析
ANOVA 代表方差分析。执行它是为了找出不同类别数据组之间的关系。 在 ANOVA 下,我们有两个测量结果: – F-testscore:显示组均值相对于变化的变化 – p 值:显示结果的重要性 这可以使用 python 模块 scipy 方法名称f_oneway()。
这些样本是每组的样本测量值。 作为结论,如果 ANOVA 检验给我们一个大的 F 检验值和一个小的 p 值,我们可以说其他变量和分类变量之间存在很强的相关性。
相关性和相关性计算
相关性是上下文中两个变量之间的简单关系,使得一个变量影响另一个变量。相关性不同于引起的行为。计算变量之间相关性的一种方法是找到 Pearson 相关性。在这里,我们找到两个参数,即皮尔逊系数和 p 值。当 Pearson 相关系数接近 1 或 -1 且 p 值小于 0.0001 时,我们可以说两个变量之间存在很强的相关性。 Scipy 模块还提供了一种执行 pearson 相关性分析的方法,
这里的示例是您要比较的属性。
到此这篇关于Python 数据分析教程探索性数据分析的文章就介绍到这了,更多相关Python 索性数据分析内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













