Python零基础到精通教程,数据分析(数据处理,挖掘价值)
本文聚焦真实业务场景,用Pandas+Matplotlib完成从原始数据清洗、处理、分析到挖掘业务价值的全流程,全程可直接复制运行。
一、教程核心说明
1. 技术栈
- 核心工具:
Pandas(数据处理核心)、Matplotlib(可视化) - 数据格式:CSV(最常用的业务数据格式)
- 难度:零基础可学,无复杂数学公式
2. 实战使用场景(覆盖高频业务需求)
- 电商销售数据分析:分析销量、利润、用户消费习惯,优化选品 / 营销
- 用户行为分析:挖掘高价值用户、流失风险用户
- 运营数据监控:统计日 / 月营收、爆款产品、异常数据
二、环境准备
打开终端 / 命令提示符,执行安装命令:
pip install pandas matplotlib三、实战场景:电商销售数据分析(最通用场景)
我们模拟一份电商订单原始数据,包含:订单号、用户 ID、商品类别、订单时间、销量、单价、省份。目标:清洗脏数据 → 统计核心指标 → 挖掘业务价值 → 输出决策建议
步骤 1:生成 / 导入原始数据
我们先生成模拟数据(也可替换为你的本地 CSV 文件)
# 1. 导入工具库 import pandas as pd import matplotlib.pyplot as plt # 设置中文显示(解决图表中文乱码) plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"] plt.rcParams["axes.unicode_minus"] = False # 2. 生成模拟电商销售数据(真实场景可替换为:pd.read_csv("你的数据.csv")) data = { "order_id": [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, None, 1010], "user_id": [101, 102, 103, 101, 104, 102, 105, 106, 107, 103], "category": ["电子产品", "服装", "食品", "电子产品", "食品", "服装", "电子产品", "食品", "服装", None], "order_time": ["2025-01-01", "2025-01-01", "2025-01-02", "2025-01-02", "2025-01-03", "2025-01-03", "2025-01-04", "2025-01-04", "2025-01-05", "2025-01-05"], "sales": [5, 3, 10, 2, 8, 5, -2, 12, 6, 7], # 包含异常值:负数销量 "price": [3000, 200, 50, 3200, 45, 180, 4000, 55, 220, 60] } # 转换为DataFrame(Pandas核心数据结构) df = pd.DataFrame(data) # 查看数据前5行(基础检查) print("===== 原始数据前5行 =====") print(df.head())步骤 2:数据探索(了解数据全貌)
这一步是数据分析的必经流程,快速判断数据质量:
# 1. 查看数据基本信息(行数、列数、数据类型、缺失值) print("\n===== 数据基本信息 =====") print(df.info()) # 2. 查看数值型数据统计(均值、最值、标准差) print("\n===== 数据统计指标 =====") print(df.describe())发现问题:
- 存在缺失值(
order_id/category为空) - 存在异常值(
sales为负数) - 时间列是字符串格式,无法做时间分析
步骤 3:核心数据处理(清洗脏数据)
数据处理占数据分析70% 工作量,干净的数据才能挖出准确价值!
# --------------- 1. 处理缺失值 --------------- # 删除包含缺失值的行(业务中:缺失关键信息的订单无效) df = df.dropna() # --------------- 2. 处理异常值 --------------- # 剔除销量为负数的无效数据 df = df[df["sales"] > 0] # --------------- 3. 数据格式转换 --------------- # 将订单时间转换为日期格式(支持按天/月分析) df["order_time"] = pd.to_datetime(df["order_time"]) # --------------- 4. 计算核心指标:总销售额 --------------- # 销售额 = 销量 × 单价 df["total_amount"] = df["sales"] * df["price"] # 查看清洗后的数据 print("\n===== 清洗后最终数据 =====") print(df)步骤 4:数据价值挖掘(核心分析)
基于清洗后的数据,挖掘业务能直接使用的结论!
分析 1:各商品类别销量 / 销售额统计
# 按商品类别分组统计 category_analysis = df.groupby("category").agg({ "sales": "sum", # 总销量 "total_amount": "sum" # 总销售额 }).reset_index() print("\n===== 各品类销售统计 =====") print(category_analysis) # 可视化:品类销售额柱状图 plt.figure(figsize=(8, 5)) plt.bar(category_analysis["category"], category_analysis["total_amount"], color="#4285F4") plt.title("各商品类别销售额对比") plt.xlabel("商品类别") plt.ylabel("总销售额(元)") plt.show()业务价值:一眼看出最赚钱的品类,指导库存、营销资源倾斜。
分析 2:高价值用户挖掘(用户分层)
# 按用户ID统计消费总额 user_analysis = df.groupby("user_id").agg({ "total_amount": "sum", "order_id": "count" # 订单数 }).rename(columns={"order_id": "order_count"}).reset_index() # 筛选高价值用户(消费额>5000) high_value_user = user_analysis[user_analysis["total_amount"] > 5000] print("\n===== 高价值用户列表 =====") print(high_value_user)业务价值:定位核心用户,做专属优惠、精准营销,提升复购。
分析 3:每日销售额趋势
# 按日期统计销售额 daily_sales = df.groupby("order_time")["total_amount"].sum().reset_index() print("\n===== 每日销售额趋势 =====") print(daily_sales) # 折线图可视化 plt.figure(figsize=(10, 5)) plt.plot(daily_sales["order_time"], daily_sales["total_amount"], marker="o", color="#EA4335") plt.title("每日销售额趋势") plt.xlabel("日期") plt.ylabel("销售额(元)") plt.xticks(rotation=45) plt.show()业务价值:判断销售高峰期,安排备货、促销活动。
分析 4:异常数据监控
# 找出单笔销售额最高的订单 max_order = df[df["total_amount"] == df["total_amount"].max()] print("\n===== 单笔最高销售额订单 =====") print(max_order)四、其他高频实战使用场景(代码可复用)
场景 1:用户行为分析(APP / 网站)
目标:挖掘活跃用户、沉默用户、留存率
# 核心代码(复用清洗逻辑) # user_df = pd.read_csv("user_behavior.csv") # user_df = user_df.dropna() # 统计用户访问次数、最后登录时间 # user_stay = user_df.groupby("user_id")["visit_time"].agg(["count", "max"])场景 2:财务数据处理
目标:统计收支、利润、异常支出
# 核心逻辑 # df["profit"] = df["income"] - df["cost"] # 按月统计利润趋势场景 3:学生 / 员工绩效分析
目标:排名、平均分、异常分数筛选
# 核心逻辑 # score_df = score_df[score_df["score"] >= 0] # score_df.rank(ascending=False)五、最终输出:业务决策报告(从数据到价值)
基于本次电商数据分析,我们可以直接输出可落地的业务建议:
- 品类优化:电子产品销售额最高,应加大进货量和推广;
- 用户运营:针对高价值用户发放专属优惠券,提升复购率;
- 时间规划:根据每日销售趋势,在高峰日前备货;
- 数据规范:修复后台数据漏洞,禁止负数销量、空数据产生。
六、教程总结
1. 数据分析标准流程(万能模板)
原始数据 →数据探索→数据清洗(缺失值 / 异常值 / 格式)→指标计算→分析挖掘→业务价值
2. 核心技能
- 用
Pandas完成 90% 数据处理 - 用
Matplotlib做可视化直观展示结论 - 所有分析围绕业务价值,不做无意义的纯技术操作
3. 扩展方向
- 进阶:
Seaborn美化图表、NumPy数值计算 - 实战:对接 Excel/MySQL 数据库
- 高级:机器学习预测销量、用户流失
