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

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