从 Excel 到 Python:运营数据分析入门
"我又不是程序员,学 Python 干嘛?"——这话我说过不下二十次。入行前五年,我一直认为 Excel 够用了,VLOOKUP、透视表、条件格式,溜得飞起。直到有一天,我需要处理一份 8 万行的物流对账单,Excel 直接卡死,保存都花了 15 分钟。那天晚上我花了两个小时学 Python 的基础语法,用 Pandas 跑了一遍数据清洗,耗时 1.7 秒。从此再也没回头。
但我今天不是来劝你转行当程序员的。我是来告诉你:运营人学 Python,不需要写复杂的算法,不需要理解面向对象编程,甚至不需要装一堆开发环境。你只需要学会 5 个操作:读数据、算数据、筛数据、分组汇总、画图表——这些用 Excel 也能做,但当数据量大了、操作重复了、流程需要自动化时,Python 的效率优势是碾压级的。
我理解的"学 Python"和你理解的不一样
大部分运营人不敢学 Python,是因为被网上那些"从入门到精通"的厚教材吓到了。我自己的学习路径完全不一样:我不学语法大全,不上培训班,不刷题库。我的策略是——"问题驱动学习":遇到一个用 Excel 搞不定的问题,就去查用 Python 怎么做。做完了就记住,下次用同样的方法解决类似问题。
三个月下来,我学会的 Python "单词"不到 30 个(pandas 的几个核心函数),但已经能处理 90% 的数据分析需求。所以这篇文章不会教你一切,而是教你"用 Python 实现运营人最常做的 5 个数据分析动作"。
准备工作:别怕,不用装环境
传统学 Python 的第一步是装 Anaconda 配置环境——这个劝退了 80% 的人。我的建议是:用 Google Colab 或者 Deepnote 这类在线 Notebook 工具。打开浏览器、登录 Google 账号、新建一个 Notebook,就能直接写 Python 了。环境已经配好,常用的库(pandas、matplotlib)已经装上,不需要在本地装任何东西。
如果因为网络原因用不了 Colab,国内可以用阿里云的 DSW 或者和鲸社区的在线 Notebook,同样不需要本地配置。等你真的决定要把 Python 融入日常工作流了,再考虑在本地装环境。
操作一:读取 Excel 文件——比 Excel 打开还快
这是最基础也最实用的操作。在 Python 里读 Excel 只需要两行代码:
import pandas as pd
运行之后,整个 Excel 文件就加载到了一个叫"DataFrame"的数据结构中。你可以用 df.head() 看前 5 行确认数据正确,用 df.info() 查看每列的数据类型和缺失值,用 df.shape 看有多少行多少列。整个加载过程大概 1-2 秒——即使文件有 10 万行。当你打开一个超大 Excel 要等半分钟的时候,就会觉得这个操作值得学。
操作二:数据筛选——替代 Excel 的筛选器
运营人最常做的事是筛选数据:找出所有"延误"的订单、找出"本月"的所有记录、找出"金额大于 1 万"的采购单。在 Excel 里需要下拉筛选菜单,点来点去。Python 里的写法更直观:
delay_orders = df[df['订单状态'] == '延误']
这几行代码的语义很清晰:"从 df 中选出满足某些条件的行"。条件可以叠加(用 & 或 | 连接),可以取反(用 !=),可以模糊匹配(用 str.contains())。而且筛选结果就是一个新的 DataFrame,可以直接继续做其他操作。
操作三:分组汇总——Excel 透视表的核心能力
Excel 透视表虽然好用,但当数据源变化时,你需要手动刷新透视表,而且透视表的布局调整也比较耗时。Python 的 groupby 函数做分组汇总更加灵活和可重复:
summary = df.groupby('供应商')['金额'].agg(['sum', 'mean', 'count'])
这行代码的含义:按"供应商"分组,计算每个供应商的"金额"总额、平均值和记录条数。结果是一个新表格,供应商是索引列,三个统计值是数据列。如果你要按多个维度分组(比如按"供应商"和"月份"两个维度),在 groupby 里传入列表即可。
更关键的是:这段代码可以保存为一个脚本,下个月数据更新后,只需要改一下文件名,重新运行就能得到新的汇总结果。不需要手动画透视表,不需要担心数据范围有没有包含新行。
操作四:数据合并——替代 VLOOKUP
VLOOKUP 是 Excel 里让人又爱又恨的函数——参数顺序记不住,查找列必须是第一列,近似匹配和精确匹配搞混了容易出大错。Python 的 merge 函数做的是"数据库级别的 JOIN",更好理解:
merged_df = pd.merge(订单表, 供应商表, on='供应商编号', how='left')
含义:以"供应商编号"为匹配键,将"订单表"和"供应商表"合并起来,采用"左连接"(以订单表为主,保留订单表的所有行)。结果是一个新表格,左边是订单信息,右边拼接了供应商信息。merge 支持的连接方式有 inner(内连接)、left(左连接)、right(右连接)、outer(外连接),和数据库的 JOIN 完全对应。
操作五:简单可视化——用代码画图
运营汇报离不开图表。Python 的 matplotlib 和 seaborn 库可以画出专业的统计图表。最重要的是:数据一旦更新,重新运行代码就能得到最新的图表,不需要手动调整。
import matplotlib.pyplot as plt
以上代码画了一个折线图,横轴是月份、纵轴是订单量。换一种图表类型只需要修改 kind 参数:'bar' 是柱状图、'pie' 是饼图、'hist' 是直方图。再加两行代码就能调整颜色、标签、字号,做出可以直接放进周报的图表。
学习路径建议:别贪多,先用起来
如果你是零基础,给自己一个月时间,按以下节奏学习:
第一周:装好环境(建议用 Colab),学会读取 Excel 文件和查看数据的基本操作(head, info, describe)。不用理解原理,先跑通再说。
第二周:学会筛选和排序,找一份你自己的运营数据(比如过去三个月的订单记录),练习筛选各种条件。只要你能用 Python 筛出"上周延误交货的供应商",就算过关。
第三周:学会分组汇总,尝试用 groupby 替代透视表。把你的月报数据用 Python 跑一遍,对比和 Excel 的结果是否一致。
第四周:学会 merge 合并和简单的图表绘制。把合并后的数据和图表整合到一个完整的分析脚本中。
四周末,你大概已经能独立完成 80% 的常规数据分析工作。剩下 20% 的需求,你可以在遇到的时候 Google 查——记住,运营人学 Python 的目标不是成为程序员,而是"让数据处理不再成为瓶颈"。
BTW,如果你已经在用 Python 做运营分析了,欢迎在评论区分享你的"杀手级脚本"——就是那个让你觉得"学 Python 太值了"的具体案例。我会整理成合集分享给大家。