趋近智
使用Python的Pandas库加载一个小型数据集,计算主要描述性统计量并创建可视化图表,从而理解数据特征。
假设我们已收集了某个城市两周的每日气温数据(摄氏度)。
我们的样本数据集:
每日气温(°C):[22, 25, 19, 21, 24, 26, 23, 20, 22, 25, 28, 24, 21, 23]
1. 设置与加载数据
首先,请确保已安装Pandas (pip install pandas)。我们将用它来高效地管理和分析数据。让我们将气温数据加载到Pandas Series中,它类似于数据的单列。
import pandas as pd
import numpy as np # 通常与Pandas一同使用很有用
# 我们的气温数据
temperatures_c = [22, 25, 19, 21, 24, 26, 23, 20, 22, 25, 28, 24, 21, 23]
# 创建一个Pandas Series
temp_series = pd.Series(temperatures_c, name="每日气温 (C)")
# 显示Series
print(temp_series)
2. 计算集中趋势量度
现在,让我们使用均值、中位数和众数来找出典型气温。Pandas为此提供了直接的方法。
# 计算均值
mean_temp = temp_series.mean()
print(f"平均气温:{mean_temp:.2f} °C")
# 计算中位数
median_temp = temp_series.median()
print(f"中位数气温:{median_temp:.2f} °C")
# 计算众数
# 注意:.mode() 返回一个 Series,因为可能存在多个众数。
# 如果存在,我们将取第一个。
mode_temp = temp_series.mode()
if not mode_temp.empty:
print(f"众数气温:{list(mode_temp)} °C")
else:
print("未找到唯一众数。")
3. 计算离散程度量度
气温的日间变化有多大?让我们计算极差、方差和标准差。
# 计算极差
temp_range = temp_series.max() - temp_series.min()
print(f"气温极差:{temp_range} °C")
# 计算方差
variance_temp = temp_series.var() # 默认使用 N-1 作为分母(样本方差)
print(f"气温方差:{variance_temp:.2f} °C^2")
# 计算标准差
std_dev_temp = temp_series.std() # 默认使用 N-1 作为分母(样本标准差)
print(f"气温标准差:{std_dev_temp:.2f} °C")
4. 计算百分位数和四分位数
让我们找出四分位数,以更好地理解数据的分布。
# 计算四分位数(第25、50、75百分位数)
quartiles = temp_series.quantile([0.25, 0.50, 0.75])
print("\n四分位数:")
print(quartiles)
# 计算四分位距(IQR)
q1 = quartiles[0.25]
q3 = quartiles[0.75]
iqr = q3 - q1
print(f"\n四分位距 (IQR):{iqr:.2f} °C")
5. 数据可视化
可视化通常能提供仅凭原始数据无法获得的见解。让我们创建一个直方图和一个箱线图。我们将使用Plotly来创建交互式网页图表。
直方图
直方图显示了气温落在不同区间内的频率。
直方图显示了特定气温范围内的天数计数。
箱线图
箱线图提供了分布的简洁概览,显示了中位数、四分位数和可能的异常值。
箱线图显示了中位数(橙线)、四分位数(箱体边缘)、范围(触须)和单个数据点。
总结
通过应用这些描述性统计方法和可视化技术,我们已将一个简单的气温列表转化为有意义的总结。我们了解了典型气温(约 23∘C)、变异性(标准差约 ±2.35∘C),以及整体分布形状。数据汇总的这个过程是任何数据分析或机器学习任务中的基本第一步。当您遇到更大、更复杂的数据集时,这些基本技术对于获取初步认识仍将是重要的。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造