Python统计数据分析核心是pandas、numpy、scipy和matplotlib/seaborn:用describe()得基础统计量,groupby实现分层汇总,scipy.stats做t检验、卡方检验和相关性分析,seaborn快速绘直方图、箱线图和热力图,并强调先用info()和isnull().sum()检查数据质量。

用 Python 统计数据,核心是用好 pandas(处理表格数据)、numpy(数值计算)、scipy(统计检验)和 matplotlib/seaborn(可视化)。不需要写复杂代码,几行就能完成常见统计任务。
快速计算基础统计量
读入数据后,直接调用 .describe() 就能一键输出均值、标准差、最小值、四分位数、最大值等:
import pandas as pd
df = pd.read_csv("data.csv")
print(df.describe()) # 对所有数值列自动统计
想单独算某个指标,比如某列的中位数或方差,直接用方法:
-
df["age"].mean()→ 平均年龄 -
df["score"].median()→ 分数中位数 -
df["price"].std()→ 价格标准差 -
df["category"].value_counts()→ 分类变量频数统计
按组别分层统计
比如“不同城市销量平均值”“各年级男生女生人数”,用 groupby + 聚合函数最方便:
立即学习“Python免费学习笔记(深入)”;
# 按城市统计平均销量和总销量
df.groupby("city")["sales"].agg(["mean", "sum"])
# 按年级和性别统计人数
df.groupby(["grade", "gender"]).size()
支持多列分组、多种聚合方式混用,还能加条件筛选后再统计,灵活度高。
做假设检验和相关性分析
需要判断两组数据是否有显著差异?变量之间是否相关?直接调用 scipy.stats:
- t 检验(比较两组均值):
from scipy.stats import ttest_ind; ttest_ind(group_a, group_b) - 卡方检验(分类变量关联性):
from scipy.stats import chi2_contingency; chi2_contingency(pd.crosstab(df["sex"], df["buy"])) - 皮尔逊相关系数:
df[["height", "weight"]].corr(method="pearson")
返回结果包含统计量、p 值,帮你快速判断是否显著。
画图辅助理解分布和关系
光看数字容易忽略异常值或偏态。用 seaborn 几行就能出专业图表:
import seaborn as sns
import matplotlib.pyplot as plt
sns.histplot(df["income"], kde=True) # 直方图+密度曲线
sns.boxplot(x="region", y="sales", data=df) # 分组箱线图
sns.heatmap(df.corr(), annot=True) # 相关性热力图
图形比数字更直观,常能第一时间发现问题,比如某城市销量异常高、收入严重右偏等。
基本上就这些——从读数据、算指标、分组汇总,到检验和画图,Python 都有成熟、简洁的实现。不复杂但容易忽略的是:先用 df.info() 和 df.isnull().sum() 看清数据质量,再统计,效果会好很多。











