01-数据分析入门-Pandas实战

数据分析入门实战:老板丢来 5000 行数据,我怎么一步步算出"哪个季度卖得最好"

写作日期:2026-08-04 | 来源:数据分析学习笔记(六步流程 + Pandas 实战)

关键词:Pandas、数据清洗、groupby、透视表、数据分析流程

背景(S)

实习第一天,老板丢给我一个 CSV 文件,里面有 5000 行销售记录(日期、产品、金额),说了一句:"哪个季度卖得最好?明天汇报。"

当时的我大脑一片空白:数据分析第一步是啥?是不是先把数据算一遍?后来才发现,没有数据拿什么算------第一步是取数,而真正的坑,全在取数之后。

踩过的坑(T)

新手最容易犯的 5 个错,我一个没落:

  1. 以为第一步是"分析"------错了,第一步是取数(先有数据才能分析)。
  2. 直接对脏数据求和 ------5000 行里有 200 行重复记账,总销售额凭空虚高,多算 200 行的钱。
  3. 空值填 0------50 行金额是空的,填 0 把月均消费从 2000 拉低到 1900,结论全歪。
  4. sort_values 忘写 ascending=False ------默认升序,卖得最好的产品在最后一行,老板从上往下看,差点把最差的当成最好的。
  5. 透视表把 index / columns 搞反------index 是行(最左边一竖列),columns 是列(表头),反了就是一张"看不懂的表"。

怎么解决的(A)

第一步:先立骨架------数据分析六步流程

复制代码
取数 → 清洗 → 存储 → 分析 → 可视化 → 报告

不是五步,是六步:最后一步"报告"是图表 + 结论 + 建议------因为老板没耐心看 5000 行数字,他要的是能直接拍板的一句话。

第二步:用 Pandas 把数据读进来

python 复制代码
import pandas as pd

df = pd.read_csv("销售记录.csv")
print(df.shape)   # (5000, 3) = 5000 行 3 列(先行后列)
print(df.head())  # 看一眼前 5 行

DataFrame 就是一张跑在内存里的 Excel 表格:列是字段(日期、产品、金额),行是记录。

第三步:清洗三件套(最重要,别跳过)

python 复制代码
df = df.drop_duplicates()                 # ① 去重:删掉 200 行重复记账(必须重新赋值才生效!)
df = df.dropna()                          # ② 空值少:直接删行
df = df.fillna(df['金额'].mean())         # ② 空值多:填均值(填 0 会拉低均值,别用)
df = df[df['金额'] > 0]                   # ③ 过滤:金额 > 0,把异常值/退款挡在外面

清洗决定结论可信度:重复数据让总数虚高,空值填错让均值失真------不洗,分析白做。

第四步:分组聚合------"哪个季度卖得最好"的核心

python 复制代码
# 每个季度总销售额(groupby = 按列分堆,对金额求和)
季度销售 = df.groupby('季度')['金额'].sum()
print(季度销售.sort_values(ascending=False))   # 降序,第一行就是卖得最好的季度

groupby 结构记牢:df.groupby('分组的列')['要算的列'].sum()。想同时算金额和数量,用双括号 df.groupby('产品')[['金额', '数量']].sum()

第五步:透视表------产品 × 季度交叉看

python 复制代码
pd.pivot_table(df, values='金额', index='产品', columns='季度', aggfunc='sum')
复制代码
季度       Q1    Q2    Q3    Q4
产品
奶茶     5000  6000  4000  5000
烤肠     1000  1500  1200  1300
柠檬水   2000  2200  1800  2000

一行代码同时看"哪个产品、哪个季度"------这就是 Excel 透视表的 Pandas 版,也是 groupby 的升级版(一维分组 → 二维交叉)。注意 aggfunc='sum' 一定要写,默认是 mean(平均值),会算成"平均每单",和总销售额差很远。

第六步:报告交付

图(可视化)+ 结论 + 建议。我的结论是:"奶茶 Q2 卖得最好(6000),Q3 跌到 4000,建议排查 Q3 原因,Q2 经验可复制。"

复盘(R)

  • 数据从哪来 → 怎么处理 → 给谁用:取数拿数据、清洗保可信、分析出结论、报告给决策者------这就是面试的"数据流三段式"。
  • SQL 干重活,Pandas 干细活:数据大到内存装不下(比如 3G),先 SQL 聚合压小,再读回 Pandas 分析。
  • 踩坑是最好的面试素材:面试官最爱听"我犯过错然后怎么改",这 5 个坑就是。

一句话总结(面试直接背) :数据分析 = 六步流程(取数→清洗→存储→分析→可视化→报告),Pandas 三件套(drop_duplicates 去重、dropna/fillna 处理空值、df[条件] 过滤),groupby 一维分组、pivot_table 二维交叉------清洗保证结论可信,报告让老板 3 秒拍板。

相关推荐
临床数据科学和人工智能兴趣组2 小时前
R Markdown 如何写
人工智能·机器学习·数据分析·r语言·r语言-4.2.1
大数据魔法师15 小时前
【最全详解】DuckDB Python 全套 API 语法、参数与实战用法(零基础全覆盖)
python·数据分析
世人万千丶17 小时前
鸿蒙Crash高级捕获与异常监控:全局异常兜底/崩溃栈解析/符号表还原/智能聚类/闭环修复
学习·机器学习·华为·数据挖掘·harmonyos·鸿蒙·聚类
大数据魔法师19 小时前
Python 网络请求库 curl_cffi:从入门到实战,如何规避网站指纹检测
python·数据分析
Highcharts.js21 小时前
五大痛点拖慢数据分析平台决策效率:Highchart可视化与AI分析解决方案解析
人工智能·信息可视化·数据分析·数据可视化·highcharts·ai可视化分析
趣味科技1 天前
记录修复EAGET忆捷移动硬盘损坏
windows·数据分析·硬件工程
spider_xcxc1 天前
[特殊字符] 空间数据挖掘中频繁并置模式挖掘的并行与分布式加速:从传统方法到异构协同新架构
数据挖掘
AI科技星1 天前
全域光速运动理论体系 (GAQ-UFT)——范式重构、核心方程与传统物理的本质分野
人工智能·线性代数·机器学习·重构·数据挖掘·回归·ai科技星
临床数据科学和人工智能兴趣组1 天前
要使用 R Markdown,首先需要安装 R 和 RStudio,接着安装 rmarkdown 包
开发语言·数据挖掘·数据分析·r语言·r语言-4.2.1