10 数据分析之描述性统计
在数据分析中,描述性统计是理解数据的重要工具。它为我们提供了数据的基本特征,以及数据趋势、分布和变异的概述。描述性统计通常是数据分析工作流程中的第一步,帮助我们在深入分析之前,对数据有一个初步了解。如果你还记得上一篇关于数据清洗与处理的内容,经过清洗后,我们的数据现在应该是整洁的、可以直接进入分析阶段了。
描述性统计的概念
描述性统计主要包括集中趋势和离散程度两个方面。我们通常使用以下几种指标来描述数据:
-
均值(Mean): 数据的算术平均值,公式为:
-
中位数(Median): 将数据集从小到大排列后,位于中央的值。
-
众数(Mode): 数据集中出现频率最高的数值。
-
方差(Variance)和标准差(Standard Deviation): 分别衡量数据分散程度的指标。方差的公式为:
-
极值(Minimum and Maximum): 数据集中最小和最大的值。
-
四分位数(Quartiles): 将数据分为四部分的重要数值,其中包括第一四分位数(Q1)、中位数(Q2)和第三四分位数(Q3)。
在接下来的部分,我们将通过使用Python和Pandas库来实现这些统计量的计算。
使用Python和Pandas计算描述性统计
让我们用一个简单的例子来说明如何通过Pandas库来进行描述性统计。假设我们有一个关于学生成绩的简单数据集:
import pandas as pd
# 创建一个数据框
data = {
'学生': ['小明', '小红', '小刚', '小丽', '小华'],
'成绩': [88, 92, 79, 85, 95]
}
df = pd.DataFrame(data)
在这个数据框中,我们有五个学生和他们对应的成绩。接下来,我们可以使用Pandas的describe()
方法来获取描述性统计信息。
# 计算描述性统计
stats = df['成绩'].describe()
print(stats)
执行上面的代码输出如下结果:
count 5.000000
mean 87.800000
std 6.157052
min 79.000000
25% 85.000000
50% 88.000000
75% 91.000000
max 95.000000
Name: 成绩, dtype: float64
这里的输出包括:
count
: 数据数量mean
: 平均成绩std
: 标准差min
: 最低成绩25%
,50%
,75%
: 分别代表第一四分位数、中位数、第三四分位数max
: 最高成绩
可以看到,describe()
方法会自动计算出多种描述性统计量,方便我们快速分析数据。
聚焦集中趋势与离散程度
接下来,我们来单独计算集中趋势和离散程度的具体数值。如果我们希望单独计算均值、中位数和模式,我们可以使用如下代码:
mean = df['成绩'].mean()
median = df['成绩'].median()
mode = df['成绩'].mode()[0] # mode()返回多个值,取第一个
print(f'均值: {mean}, 中位数: {median}, 众数: {mode}')
执行后输出:
均值: 87.8, 中位数: 88.0, 众数: 79
接下来,我们计算方差和标准差:
variance = df['成绩'].var()
std_dev = df['成绩'].std()
print(f'方差: {variance}, 标准差: {std_dev}')
输出结果如下:
方差: 37.5, 标准差: 6.157052
结论
在本节中,我们讨论了描述性统计的基本概念,以及如何使用Pandas库进行数据的描述性统计分析。通过这个分析,我们可以快速理解数据的集中趋势和离散程度。掌握了这些基本统计量后,我们可以为更加深入的分析打下良好的基础。
在下一篇文章中,我们将学习关于数据分组与聚合的技术,这将帮助我们对数据进行更细致的分析和比较。希望你能继续跟随此系列教程,深入了解如何利用Pandas进行数据分析。