整理了最常用、最简单的 Python 统计分析代码,包含:
- 读取数据
- 基础统计(均值、中位数、标准差等)
- 频数统计
- 相关性分析
- 简单绘图
全程复制就能跑,不需要复杂配置。
一、先安装依赖库
打开终端/命令行运行:
pip install pandas numpy matplotlib
二、完整示例代码(直接用)
我们用模拟数据演示,你也可以换成自己的 Excel/CSV 文件。
# 1. 导入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 2. 创建模拟数据(也可以读取自己的文件)
data = {
"姓名": ["张三", "李四", "王五", "赵六", "钱七", "孙八", "周九"],
"年龄": [22, 25, 23, 24, 26, 22, 25],
"成绩": [85, 92, 78, 90, 88, 76, 95],
"消费": [1200, 1500, 900, 1300, 1600, 800, 1400]
}
# 转成数据分析专用格式
df = pd.DataFrame(data)
# ----------------------
# 3. 基础数据查看
# ----------------------
print("===== 前5行数据 =====")
print(df.head())
print("\n===== 数据基本信息 =====")
print(df.info())
# ----------------------
# 4. 核心统计指标(最重要!)
# ----------------------
print("\n===== 全部数值列统计结果 =====")
print(df.describe())
# 单独计算
print("\n===== 单独统计 =====")
print("成绩平均值:", df["成绩"].mean())
print("成绩中位数:", df["成绩"].median())
print("成绩标准差:", df["成绩"].std())
print("成绩最大值:", df["成绩"].max())
print("成绩最小值:", df["成绩"].min())
print("成绩总和:", df["成绩"].sum())
# ----------------------
# 5. 频数统计(比如年龄出现几次)
# ----------------------
print("\n===== 年龄频数统计 =====")
print(df["年龄"].value_counts())
# ----------------------
# 6. 相关性分析(两列关系)
# ----------------------
print("\n===== 相关系数矩阵 =====")
print(df[["年龄", "成绩", "消费"]].corr())
# ----------------------
# 7. 简单绘图(直方图 + 散点图)
# ----------------------
plt.rcParams["font.sans-serif"] = ["SimHei"] # 解决中文显示
plt.rcParams["axes.unicode_minus"] = False
# 成绩直方图
plt.figure(figsize=(8, 4))
plt.hist(df["成绩"], bins=5, color="skyblue", edgecolor="black")
plt.title("成绩分布直方图")
plt.xlabel("成绩")
plt.ylabel("人数")
plt.show()
# 成绩 vs 消费 散点图
plt.figure(figsize=(8, 4))
plt.scatter(df["成绩"], df["消费"], color="red")
plt.title("成绩与消费关系")
plt.xlabel("成绩")
plt.ylabel("消费")
plt.show()
三、读取你自己的文件(Excel / CSV)
把上面的模拟数据替换成:
读取 Excel
df = pd.read_excel("你的文件.xlsx")
读取 CSV
df = pd.read_csv("你的文件.csv", encoding="utf-8")
四、常用统计函数速查
| 功能 | 代码 |
|---|---|
| 平均值 | df["列名"].mean() |
| 中位数 | df["列名"].median() |
| 标准差 | df["列名"].std() |
| 最大值 | df["列名"].max() |
| 最小值 | df["列名"].min() |
| 求和 | df["列名"].sum() |
| 方差 | df["列名"].var() |
| 频数统计 | df["列名"].value_counts() |
| 相关系数 | df.corr() |
五、你可以直接用这套代码做什么?
- 学生成绩统计
- 销售数据统计
- 问卷数据统计
- 实验数据统计
- 简单数据可视化
总结
- 这套代码是最简单、最实用的 Python 统计分析模板
- 复制 → 改文件名/列名 → 运行,直接出结果
- 包含统计指标 + 频数 + 相关性 + 绘图,覆盖90%日常需求