带过好几届数据分析新人,也陪不少人备考过CDA认证,被问得最多的问题永远是:数据从哪里找?代码怎么写?图表怎么画才好看?报错一堆怎么排查?说实话,市面上的工具和网站多到收藏夹都快放不下,但真正每个项目都离不开、打开频率最高的,其实就那么几个。这篇我就翻开自己的收藏夹,按数据分析的全流程——找数据、练SQL、写Python、做可视化、理思路、出报告——挑6个最趁手的网站,逐个讲清楚它们解决什么问题、怎么用效率最高、有哪些坑要避开。内容不挑基础,正在备考CDA数据分析师、刚转行做数据分析、或者做了一两年想系统提升的,都能直接照着用。
1. Kaggle:数据源、学习代码、竞赛实战的一站式入口
1.1 数据集板块的正确打开方式
Kaggle最被低估的功能其实是它的Dataset页面。别人都在刷它的比赛,我反而建议新人先从数据集开始。原因是它上面的数据集基本都带说明文档(Data Card)、字段解释、讨论区和代码分享,比你在搜索引擎里找“xx行业数据”然后下载一个来路不明的Excel靠谱太多。
我自己的使用习惯是三步走。第一步,在主搜索栏输入关键词后用过滤器筛选,比如要找“销售数据”就勾选CSV格式,按“最受欢迎”或“最近更新”排序;第二步,看一眼数据集的字段说明和前几行预览,确认粒度是订单级还是汇总级,这个细节直接决定你后面能做什么分析;第三步,点开页面上的Notebooks页签,看看别人在这个数据集上做了什么,相当于免费获得了一份行业分析思路。
下载方式上,除了网页直接下载,Kaggle还提供了命令行接口。装好kaggle包之后,一条kaggle datasets download -d 作者名/数据集名就能把数据拉下来,解压后直接进pandas。这个方式在批量准备数据集的时候特别省事,不用一个一个点浏览器按钮。我个人还会顺手把下载脚本存成一个shell文件,下次换数据集只改名字就行。
这里有个坑必须提前说:不是所有数据集都很干净。有些是抓取的原始日志,字段缺失严重,需要大量清洗。所以下载之前一定要看Discussion讨论区,如果一堆人在吐槽数据乱,你先做好心理准备,别等到pandas里才发现问题。
1.2 Notebook:别人的分析代码就是最好的教材
带学员时我发现,很多人学Python数据分析最大的障碍不是语法,而是不知道“拿到一堆数据后第一步该干什么”。Kaggle的Notebook页面正好解决这个问题——它不是教学文档,而是真实可运行的完整项目。
随便打开一个高投票Notebook,你看到的基本都是标准流程:导入库→数据概览(head、info、describe)→缺失值检查→分布可视化→特征分析→结论。这套流程就是数据分析的通用“套路”,也是CDA案例分析题的答题骨架。我的建议是:不要光看,必须自己动手复制到本地,换一套数据重新跑一遍,把不认识的函数一个个查清楚。真正吃透三五个Notebook之后,你会发现拿到任何新数据都不慌了,因为大脑里已经有了固定的下一步动作。
1.3 竞赛:把分析能力变成可量化的成绩
再往上走就是Kaggle竞赛。我不建议新人一上来冲大奖赛,而是从Titanic、House Prices这类教学级比赛入手。这类比赛数据量小、目标清晰、教程多,适合完整跑通“数据清洗→特征工程→建模→提交结果”的全流程。
对准备CDA认证或者求职的人来说,简历里有一两次竞赛提交记录,面试时聊项目会扎实很多。你不需要Top 10%的成绩,关键是把过程讲清楚:处理了哪些缺失值、为什么选这个模型、分数提升了多少、踩过什么坑。这本身就是很好的项目经验,对方一听就知道你是真动手做过,还是只看了教程。
2. 和鲸社区:中文环境里找数据、跑代码的轻量方案
2.1 数据集的中文生态
Kaggle虽好,但很多中文场景的数据,比如外卖订单、二手房价、白酒销售记录,在上面并不好找。这时候我会切到和鲸社区(Heywhale)。它最大的优势是中文数据集丰富,很多来自国内公开渠道或比赛脱敏数据,下载速度快,拿到就能直接用。
搜索方式跟Kaggle类似,重点看“数据集”分类下面的热门榜单。举个例子,你想练“白酒销售数据分析和可视化”,直接在搜索框输入“白酒 销售”,通常能找到别人整理好的CSV,附带字段说明,省去自己在网上拼凑数据的时间。拿到数据后,我习惯先用Excel做一次快速预览,确认字段类型和量级,再决定是直接用pandas清洗还是在在线Notebook里处理。Excel数据分析作为辅助工具,在这个环节依然有不可替代的轻便感。
2.2 在线Notebook:不用配环境直接跑
很多新人在本地装Python、配pandas环境这一步就被劝退了。和鲸的在线Notebook解决的就是这个问题:浏览器打开就能用,内置了常用的数据分析库,你只需要专注于写代码本身。
我推荐一种“跟着做”的学习方式:在和鲸找一个带项目的数据集,先自己尝试分析和可视化,再打开社区里其他高赞Notebook,对比别人是怎么处理异常值、怎么选择图表类型的。这种对比学习的效率比单纯刷网课高很多,因为你是在真实任务中吸收经验,而不是被动接受知识点。
2.3 从项目到报告:中文社区的氛围加成
和鲸还有一个值得利用的板块是“项目”区,很多人会把完整的数据分析报告直接发布出来,包括业务背景、分析过程、图表和结论。备考CDA时,我常让学员去拆解这些报告:先猜作者每一步为什么这么做,再看原文验证。拆解三五个报告之后,分析框架基本就建立起来了。
这个环节特别适合用来练习“讲分析故事”的能力。很多分析师代码能力不差,但一到汇报就说不清楚逻辑,和鲸社区里高质量项目报告的写法,恰好是模仿的范本。
3. SQLZOO:把SQL基础焊死的交互式练习场
3.1 为什么数据分析师绕不开SQL
无论你用Python还是Excel做分析,SQL都是绕不开的技能。因为绝大多数企业数据不在CSV里,而在数据库里,CDA考试中SQL也是必考模块。SQLZOO这个网站我从第一次用到现在快十年了,界面简单到简陋,但练习设计是我见过的所有SQL教程里最合理的。
它的核心形式是:左边是题目要求,右边是数据表,你在输入框写SQL后点运行,系统立即对比预期结果。这种即时反馈特别重要,因为SQL是“写得出来才算会”的技能,眼睛看懂了和手写出来了完全是两回事。很多人在视频里看SQL觉得简单,一打开编辑器就卡壳,SQLZOO就是专门治这个毛病的。
3.2 通关路线:从SELECT到窗口函数
SQLZOO的章节是循序渐进的:SELECT基础查询→JOIN多表连接→聚合函数→子查询→窗口函数。我建议按顺序刷,每天一个小时,两周左右能刷完。刷题时注意两个重点:
一是手写,不要复制运行,因为面试和考试现场没人让你复制。同一个结果,试过用子查询写一遍、再用窗口函数写一遍之后,你对SQL执行顺序的理解会明显加深。第二个容易忽略的点是NULL值处理章节,很多业务查询里NULL导致的“看不见的错误”比语法错误更致命,SQLZOO在这块的题目设计得很有针对性,值得反复做。
3.3 刷完SQLZOO之后,怎么衔接真实业务
SQLZOO的题目偏教学,刷完后建议趁热衔接真实业务场景。做法是本地装一个MySQL,或用在线数据库,导入一份真实业务数据(比如订单表、用户表),然后尝试写几种常用分析:
- 每日销售额趋势统计
- 新老用户占比计算
- 复购率分析(按用户多次购买行为统计)
- RFM模型里的R、F、M三个指标
这些题目如果你能独立写出来,说明SQL已经不是你的瓶颈了。这一步对CDA考试里的SQL机试题帮助尤其明显,因为机试题考的就是在限定时间内用SQL解决业务问题,平时练过真实场景,考试心态会稳很多。
4. GitHub:别人的项目就是你的代码范式库
4.1 搜索技巧:精准找到数据分析项目
GitHub表面上是代码托管平台,其实它是最好的代码搜索引擎,关键是你会不会用搜索语法。我常用的方式是:搜索框输入python 数据分析或>