数据分析实战学习路径:从Excel、SQL到Python与BI的完整技能树构建
最近在后台收到不少私信,很多想转行或刚入行的朋友都在问:数据分析到底该怎么学?网上的资料太零散了,Excel、Python、SQL、BI工具……每个都要学,但不知道从哪里开始,也不知道学到什么程度才算“入门”。
确实,数据分析是一个典型的“技能树”型领域,工具多、概念杂。为了帮助大家系统性地构建知识体系,我结合自己多年的项目经验和带新人的心得,整理了一套从零到一的数据分析实战学习路径。这套路径覆盖了Excel、SQL、Python和BI四大核心工具,并串联了从数据获取、处理、分析到可视化的完整流程。无论你是学生、转行者,还是希望提升效率的职场人,都可以跟着这个路径一步步实践,最终达到能够独立完成数据分析项目、产出商业洞察的水平。
1. 数据分析的核心概念与学习路线图
在动手学习具体工具之前,我们必须先理解数据分析是什么,以及一个标准的数据分析项目流程是怎样的。这能帮助我们在后续学习中,清楚地知道每个工具和技能在整个流程中扮演什么角色。
数据分析的本质是从海量、杂乱的数据中提取有价值的信息,并基于这些信息形成结论、支撑决策的过程。它不是一个单一的技能,而是一套包含业务理解、数据获取、数据处理、数据分析、数据可视化、报告呈现的完整方法论。
一个典型的数据分析流程可以概括为以下六个步骤,这也是我们学习路径的主线:
- 明确分析目标:解决什么业务问题?(例如:本月销售额下降的原因是什么?)
- 数据获取与收集:数据从哪里来?(数据库、Excel、API、爬虫等)。
- 数据清洗与处理:将原始数据变成干净、规整、可用于分析的数据。这是最耗时但最关键的一步。
- 数据分析与建模:运用统计方法、算法模型从数据中寻找规律和答案。
- 数据可视化:将分析结果用图表直观地呈现出来,便于理解。
- 报告与决策:形成分析报告,给出结论和建议,驱动业务行动。
基于这个流程,我们的学习路线和工具对应关系如下:
- 数据获取与初步处理:Excel。它是接触数据的第一站,适合小规模数据的快速查看、简单清洗和基础分析。
- 数据获取与深度处理:SQL。当数据存储在数据库中时,SQL是查询和提取数据的唯一标准语言。
- 数据分析与自动化:Python。适合处理复杂、大规模的数据,进行高级统计分析、机器学习建模,并能实现分析流程的自动化。
- 数据可视化与报告:BI工具。如Power BI、Tableau,能快速连接多种数据源,通过拖拽方式制作交互式报表和驾驶舱,是向业务部门汇报的最佳工具。
接下来,我们将按照Excel → SQL → Python → BI的顺序,逐一拆解每个工具的核心技能和实战案例。
2. 环境准备:搭建你的数据分析工作台
工欲善其事,必先利其器。在开始学习前,请确保你的电脑上已经安装好以下软件。别担心,大部分都是免费或提供社区版的。
2.1 Excel 环境
- 软件:Microsoft Excel 2016及以上版本,或WPS Office(大部分基础功能兼容)。建议使用Office 365或Excel 2021,以获得Power Query等高级功能。
- 关键组件确认:打开Excel,在“数据”选项卡中,检查是否有“获取数据(Power Query)”和“数据分析”库(可能需要加载项)。这是进行高效数据处理的基础。
2.2 SQL 学习环境
对于初学者,不建议直接连接公司生产数据库。我们使用本地数据库进行练习。
- 数据库软件:MySQL或SQLite。MySQL功能全面,是行业标准;SQLite无需安装服务器,单个文件即数据库,非常适合入门练习。
- MySQL安装:下载MySQL Community Server和MySQL Workbench(图形化管理工具)。安装教程网上很多,注意记住自己设置的root密码。
- SQLite使用:可以使用DB Browser for SQLite这个图形化工具,或者直接在Python中操作。
- 练习数据:我们后续会提供创建表和插入数据的SQL脚本。
2.3 Python 环境
Python是数据分析的核心,安装稍复杂,但一步到位后非常方便。
- 推荐发行版:Anaconda。它集成了Python解释器、包管理工具conda以及Jupyter Notebook等数据科学常用的库和环境,避免了复杂的依赖问题。
- 安装步骤:
- 访问Anaconda官网,下载对应你操作系统(Windows/macOS/Linux)的安装包。
- 运行安装程序,建议勾选“Add Anaconda to my PATH environment variable”(将Anaconda添加到系统路径),这样可以在命令行直接使用。
- 安装完成后,打开“Anaconda Prompt”(Windows)或终端(macOS/Linux),输入
conda list,如果能看到一长串包列表,说明安装成功。
- 必备库:Anaconda已包含大部分,我们主要会用到:
pandas(数据处理),numpy(数值计算),matplotlib和seaborn(数据可视化)。
2.4 BI 工具环境
- 软件:Microsoft Power BI Desktop。它完全免费,功能强大,且与Excel、SQL Server等同属微软生态,集成性好。
- 安装:从微软官网下载Power BI Desktop安装即可。
3. 第一阶段:Excel - 数据分析的瑞士军刀
Excel是大多数人接触数据的起点。它的强大不在于高深,而在于易用和全面。本阶段的目标是:告别简单筛选和求和,掌握用Excel进行系统化数据处理和分析的方法。
3.1 核心技能:数据清洗与整理
原始数据往往存在重复、缺失、格式不一致等问题。Excel的“Power Query”(2016版后叫“获取和转换数据”)是数据清洗的神器。
实战:清洗一份混乱的销售数据假设你拿到一份“销售记录.csv”文件,存在以下问题:日期格式混乱、产品名称大小写不一致、销售额列混有文本和数字、存在空行。
操作步骤:
- 导入数据:在Excel中,点击【数据】→【获取数据】→【来自文件】→【从文本/CSV】。选择你的文件。
- 打开Power Query编辑器:点击“转换数据”,进入Power Query编辑器界面。所有操作在这里进行,原始数据不会被修改。
- 处理日期列:选中日期列,在【转换】选项卡下,选择【数据类型】→【日期】。Power Query会自动尝试识别和转换。
- 统一产品名称:选中产品名列,右键选择【替换值】,将“abc”替换为“ABC”,实现大小写统一。
- 清理销售额列:如果销售额列中混有“N/A”或“-”等文本,可以筛选出这些错误值,然后右键【替换值】为
null或0。接着,将列数据类型改为“货币”或“小数”。 - 删除空行:点击【开始】→【删除行】→【删除空行】。
- 上载数据:点击【开始】→【关闭并上载】,清洗后的数据就会以表格形式加载到新的Excel工作表中。
关键点:Power Query的所有步骤都被记录下来,如果源数据更新,只需右键表格点击“刷新”,所有清洗步骤会自动重演,极大提升了效率。
3.2 核心技能:公式与函数
函数是Excel的灵魂。你需要熟练掌握以下几类:
- 查找与引用:
VLOOKUP/XLOOKUP、INDEX+MATCH组合。用于跨表匹配数据。// 使用XLOOKUP根据员工ID查找姓名(比VLOOKUP更强大灵活) =XLOOKUP(F2, A:A, B:B, "未找到") // F2是查找值,A:A是查找区域,B:B是返回区域 - 逻辑判断:
IF、IFS、AND、OR。用于条件计算和分类。// 根据销售额判断绩效等级 =IFS(C2>=10000, "优秀", C2>=5000, "良好", C2>=0, "达标", TRUE, "不达标") - 统计求和:
SUMIFS、COUNTIFS、AVERAGEIFS。多条件统计是数据分析的日常。// 计算销售部在2023年的总销售额 =SUMIFS(销售额列, 部门列, "销售部", 日期列, ">=2023-1-1", 日期列, "<=2023-12-31")
3.3 核心技能:数据透视表
数据透视表是Excel中最强大的分析工具,没有之一。它能在几秒钟内完成复杂的分组、汇总和交叉分析。
实战:快速分析销售数据
- 选中你的数据区域(最好是“表格”格式)。
- 点击【插入】→【数据透视表】。
- 将“产品类别”拖到【行】,将“销售日期”拖到【列】(并分组为年/季度/月),将“销售额”拖到【值】。
- 瞬间,你就得到了一张按产品和时间维度汇总的销售额报表。你还可以将“销售人员”拖到【筛选器】,进行动态筛选。
进阶:结合切片器和时间线,可以制作出交互式的动态报表。
4. 第二阶段:SQL - 与数据库对话的语言
当数据量变大,存储在MySQL、PostgreSQL等数据库中时,SQL就是你获取数据的钥匙。SQL的核心是“查询”。
4.1 环境搭建与基础语法
我们以MySQL为例,创建一个简单的练习数据库。
-- 1. 创建数据库 CREATE DATABASE practice_analysis; USE practice_analysis; -- 2. 创建员工表(employees)和订单表(orders) CREATE TABLE employees ( emp_id INT PRIMARY KEY, name VARCHAR(50), department VARCHAR(50), hire_date DATE ); CREATE TABLE orders ( order_id INT PRIMARY KEY, emp_id INT, order_date DATE, amount DECIMAL(10, 2), FOREIGN KEY (emp_id) REFERENCES employees(emp_id) ); -- 3. 插入示例数据 INSERT INTO employees VALUES (1, '张三', '销售部', '2022-03-15'), (2, '李四', '技术部', '2021-08-22'), (3, '王五', '销售部', '2023-01-10'); INSERT INTO orders VALUES (1001, 1, '2023-10-01', 5000.00), (1002, 1, '2023-10-05', 3000.00), (1003, 3, '2023-10-08', 7000.00), (1004, 2, '2023-10-12', 2000.00);4.2 核心查询语句解析
SELECT:选择要查询的列。FROM:指定数据来源的表。WHERE:设置行级过滤条件。GROUP BY:对数据进行分组。HAVING:对分组后的结果进行过滤(与WHERE区别在于作用对象不同)。ORDER BY:对结果进行排序。JOIN:连接多个表,这是SQL的重点和难点。
实战:完成一个多表关联分析业务问题:“计算每个部门在2023年的总销售额,并列出部门内的销售冠军(销售额最高的员工)。”
-- 步骤1:先连接员工表和订单表,计算每个员工的总销售额 WITH employee_sales AS ( SELECT e.department, e.name AS employee_name, SUM(o.amount) AS total_sales FROM employees e JOIN orders o ON e.emp_id = o.emp_id WHERE YEAR(o.order_date) = 2023 -- 筛选2023年的订单 GROUP BY e.department, e.emp_id, e.name ), -- 步骤2:计算每个部门的总销售额和最高销售额 department_summary AS ( SELECT department, SUM(total_sales) AS dept_total_sales, MAX(total_sales) AS dept_max_sales FROM employee_sales GROUP BY department ) -- 步骤3:关联两个临时结果,找出每个部门的销售冠军 SELECT ds.department, ds.dept_total_sales, es.employee_name AS top_salesperson, es.total_sales AS top_sales_amount FROM department_summary ds JOIN employee_sales es ON ds.department = es.department AND ds.dept_max_sales = es.total_sales ORDER BY ds.dept_total_sales DESC;代码解释:
- 我们使用了
CTE,它像一个临时视图,让复杂查询逻辑更清晰。 - 第一个CTE
employee_sales通过JOIN关联了两张表,按部门和员工分组汇总了销售额。 - 第二个CTE
department_summary在第一个CTE的基础上,进一步按部门汇总,并计算出部门最高销售额。 - 最后的主查询,将部门汇总信息与员工销售信息再次
JOIN,通过匹配部门和最高销售额,精准找出每个部门的销售冠军。
4.3 常见问题与性能初探
WHERE和HAVING的区别:WHERE在分组前过滤行,HAVING在分组后过滤组。例如,WHERE amount > 1000是只查询金额大于1000的订单;HAVING SUM(amount) > 10000是只显示总销售额大于10000的部门。INNER JOINvsLEFT JOIN:INNER JOIN只返回两个表都匹配的行。LEFT JOIN会返回左表的所有行,即使右表没有匹配(右表字段用NULL填充)。业务中根据是否需要保留所有主表记录来选择。- 查询慢怎么办?对于大数据表,在
WHERE和JOIN条件涉及的列上建立索引是提升查询速度最有效的方法。例如:CREATE INDEX idx_orders_emp_id ON orders(emp_id);
5. 第三阶段:Python - 自动化与深度分析引擎
Python凭借其简洁的语法和强大的库生态(如pandas, numpy, scikit-learn),成为处理复杂数据和构建分析模型的首选。
5.1 核心库Pandas入门
Pandas的核心数据结构是DataFrame,你可以把它理解成一个功能超级强大的Excel表格。
实战:用Python复现并超越Excel分析假设我们已经从数据库或CSV文件中将数据加载到了一个名为df_sales的DataFrame中。
import pandas as pd import numpy as np # 假设df_sales包含列:order_id, emp_id, emp_name, department, order_date, amount # 1. 数据预览与信息查看 print(df_sales.head()) # 查看前5行 print(df_sales.info()) # 查看列数据类型和缺失值 print(df_sales.describe()) # 数值型列的统计摘要 # 2. 数据清洗(对比Excel的Power Query) # 处理缺失值 df_sales['amount'].fillna(df_sales['amount'].mean(), inplace=True) # 用平均值填充金额缺失 # 转换日期类型 df_sales['order_date'] = pd.to_datetime(df_sales['order_date']) # 去除重复行 df_sales.drop_duplicates(inplace=True) # 3. 数据分析(对比Excel公式和数据透视表) # 计算每个部门的总销售额和平均销售额 dept_analysis = df_sales.groupby('department')['amount'].agg(['sum', 'mean', 'count']).round(2) dept_analysis.columns = ['部门总销售额', '部门平均销售额', '订单数'] print(dept_analysis) # 4. 复杂筛选与计算(比Excel函数更灵活) # 找出2023年第四季度,销售额超过5000的销售记录 df_sales['quarter'] = df_sales['order_date'].dt.quarter df_sales['year'] = df_sales['order_date'].dt.year high_value_q4_2023 = df_sales[(df_sales['year'] == 2023) & (df_sales['quarter'] == 4) & (df_sales['amount'] > 5000)] print(high_value_q4_2023[['emp_name', 'order_date', 'amount']]) # 5. 多表关联(对比SQL的JOIN) # 假设有另一个员工信息表df_emp # df_emp包含列:emp_id, hire_date, salary_grade df_merged = pd.merge(df_sales, df_emp, on='emp_id', how='left') # 左连接,类似SQL的LEFT JOIN print(df_merged.head())5.2 数据可视化:Matplotlib & Seaborn
分析结果需要直观呈现。Matplotlib是基础绘图库,Seaborn基于Matplotlib,统计图表更美观。
import matplotlib.pyplot as plt import seaborn as sns sns.set_style("whitegrid") # 设置Seaborn样式 # 1. 绘制各部门销售额柱状图 plt.figure(figsize=(10,6)) sns.barplot(x='department', y='amount', data=df_sales, estimator=sum, ci=None) plt.title('2023年各部门总销售额对比') plt.xlabel('部门') plt.ylabel('总销售额') plt.xticks(rotation=45) # 如果部门名较长,旋转x轴标签 plt.tight_layout() plt.show() # 2. 绘制销售额随时间变化的折线图(按月度聚合) df_sales['month'] = df_sales['order_date'].dt.to_period('M') # 转换为年月周期 monthly_sales = df_sales.groupby('month')['amount'].sum().reset_index() monthly_sales['month'] = monthly_sales['month'].dt.to_timestamp() # 转换回时间戳用于绘图 plt.figure(figsize=(12,5)) plt.plot(monthly_sales['month'], monthly_sales['amount'], marker='o', linewidth=2) plt.title('2023年月度销售额趋势') plt.xlabel('月份') plt.ylabel('销售额') plt.grid(True, linestyle='--', alpha=0.7) plt.tight_layout() plt.show()5.3 自动化与进阶分析
Python的强大在于可以将以上所有步骤脚本化、自动化。
- 自动化报表:你可以编写一个Python脚本,定期从数据库拉取最新数据,执行清洗、分析、生成图表,并自动输出为Excel或PDF报告。
- 探索性数据分析:使用
pandas_profiling库(现为ydata-profiling),一行代码生成包含数据分布、缺失值、相关性等信息的完整EDA报告。 - 机器学习入门:使用
scikit-learn库,可以尝试简单的预测模型,比如根据历史数据预测下个月的销售额。
6. 第四阶段:BI工具 - 打造交互式数据驾驶舱
BI工具的核心价值是敏捷和交互。它让业务人员也能自主探索数据。我们以Power BI为例。
6.1 从数据到仪表板:完整流程
- 获取数据:打开Power BI Desktop,点击“获取数据”。它可以连接Excel、CSV、SQL数据库、Web API等几乎所有常见数据源。
- 数据建模:在“模型”视图中,如果你导入了多张表(如订单表、产品表、客户表),需要像在数据库中一样,建立表之间的关系(拖拽字段连线)。这是构建正确分析的基础。
- 使用DAX公式:DAX是Power BI的公式语言,类似于Excel函数但更强大。常用函数有:
SUM,AVERAGE:求和、平均。CALCULATE:在特定筛选条件下计算,是DAX的灵魂。DATEDIFF:计算日期差。RELATED:从关联表中获取值。
// 创建一个度量值,计算“去年同期销售额” Sales LY = CALCULATE( SUM('Orders'[Amount]), SAMEPERIODLASTYEAR('Date'[Date]) // 使用日期表 ) - 设计可视化:在“报表”视图,从右侧可视化窗格将图表拖到画布上,然后将字段拖入“轴”、“值”、“图例”等区域。例如,将“产品类别”拖到“轴”,将“销售额”度量值拖到“值”,就生成了一个柱状图。
- 交互与筛选:添加“切片器”视觉对象(如年份、地区切片器),报表中所有关联图表都会随之联动。这是静态Excel报表无法比拟的体验。
- 发布与共享:将制作好的报表发布到Power BI Service,可以设置自动数据刷新,并生成链接分享给同事或嵌入到其他系统。
6.2 构建一个销售分析驾驶舱
- 核心指标卡:使用“卡片图”展示本期总销售额、同比增长率、订单数等KPI。
- 趋势分析:使用“折线图”展示月度销售额和利润趋势。
- 构成分析:使用“饼图”或“树状图”展示各产品类别的销售额占比。
- 排名分析:使用“条形图”展示销售额Top 10的客户或销售人员。
- 地理分布:如果有地理数据,使用“地图”视觉对象。
- 明细表:放置一个“表”,显示最细粒度的数据,供用户钻取查看。
将所有图表合理布局在一个画布上,并添加统一的切片器(如时间、区域),一个专业的业务驾驶舱就完成了。
7. 综合实战:从需求到报告的全流程演练
现在,我们将所有工具串联起来,完成一个虚拟的“电商销售分析”项目。
项目背景:某电商公司希望分析2023年的销售情况,以制定2024年的营销策略。
分析目标:
- 整体销售趋势如何?是否存在季节性?
- 哪些产品类别和单品最畅销?
- 不同地区的销售表现如何?
- 客户复购情况怎样?
实施步骤:
步骤1:数据获取 (SQL)假设数据存储在MySQL的sales_db数据库中。
-- 从数据库提取所需数据 SELECT o.order_id, o.order_date, c.customer_id, c.region, p.product_id, p.category, p.product_name, oi.quantity, oi.unit_price, (oi.quantity * oi.unit_price) AS amount FROM orders o JOIN customers c ON o.customer_id = c.customer_id JOIN order_items oi ON o.order_id = oi.order_id JOIN products p ON oi.product_id = p.product_id WHERE YEAR(o.order_date) = 2023;将查询结果导出为sales_2023.csv。
步骤2:数据清洗与探索 (Python)
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 加载数据 df = pd.read_csv('sales_2023.csv', parse_dates=['order_date']) print("数据概览:") print(df.info()) print("\n缺失值检查:") print(df.isnull().sum()) # 数据清洗 df['amount'] = df['quantity'] * df['unit_price'] # 确保金额计算正确 # 处理可能的异常值,例如金额为负或极大 df = df[(df['amount'] > 0) & (df['amount'] < df['amount'].quantile(0.99))] # 去除负值和99分位以上的极端值 # 基础分析 monthly_trend = df.set_index('order_date').resample('M')['amount'].sum() top_categories = df.groupby('category')['amount'].sum().sort_values(ascending=False).head(5) top_products = df.groupby('product_name')['amount'].sum().sort_values(ascending=False).head(10) print(f"\n销售额最高的5个品类是:\n{top_categories}") print(f"\n销售额最高的10个商品是:\n{top_products}")步骤3:深度分析与可视化 (Python + Excel)
- 使用Python的
seaborn绘制月度销售趋势热力图,观察季节性。 - 使用
pandas的crosstab计算地区-品类交叉表,用Excel的条件格式制作热力图,发现优势区域。 - 计算客户复购率:
复购客户数 / 总客户数。使用Python计算,结果用Excel制作图表。
步骤4:制作交互式报告 (Power BI)
- 将清洗后的
df导出为cleaned_sales.xlsx。 - 在Power BI中导入该Excel文件,并建立正确的数据模型(日期表是关键)。
- 创建核心度量值:总销售额、总订单数、平均客单价、复购率等。
- 设计仪表板:
- 顶部:KPI指标卡(总销售额、同比增长、复购率)。
- 中部左侧:月度趋势折线图、品类销售占比环形图。
- 中部右侧:地区销售地图、畅销品排行榜。
- 底部:客户分层表格(按购买次数分层)。
- 右侧面板:年份、季度、地区、品类切片器。
- 发布报告,并设置每天自动刷新数据源。
8. 常见问题与避坑指南
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
| Excel文件打开慢,操作卡顿 | 文件过大(超过10万行),或包含大量公式、数组公式、整列引用。 | 1. 使用Power Query处理数据,加载时仅导入所需列。2. 将数据存储为“Excel表格”而非普通区域。3. 考虑将数据移至数据库,用SQL处理。 |
| SQL查询结果错误或为空 | JOIN条件错误导致多对多关系;WHERE条件过于严格;NULL值处理不当。 | 1. 先用SELECT * FROM table LIMIT 10检查单表数据。2. 逐步构建查询,先JOIN少量表,验证结果。3. 注意NULL值,使用IS NULL而非= NULL判断。 |
| Python的pandas读取数据内存溢出 | 数据文件过大,超出内存。 | 1. 指定dtype参数,优化列数据类型(如用category代替object)。2. 使用chunksize参数分块读取。3. 考虑使用Dask或Vaex等库处理大数据。 |
| Power BI图表显示“无法显示视觉对象” | 度量值计算有误;数据关系未正确建立;使用了不兼容的图表类型。 | 1. 检查度量值公式,特别是CALCULATE内的筛选条件。2. 在“模型”视图检查表间关系线是否正确。3. 确保拖入图表的字段类型符合要求(如地图需要地理字段)。 |
| 分析结果与业务感知差异巨大 | 数据清洗时误删有效数据;指标定义与业务方不一致;数据源本身有质量问题。 | 这是最致命的问题!1. 回溯清洗每一步,验证数据量和关键字段分布。2. 与业务方确认核心指标的计算口径。3. 建立数据质量监控机制,对缺失率、异常值进行定期报告。 |
9. 最佳实践与学习建议
- 业务优先:永远从业务问题出发,而不是从工具或技术出发。先想清楚“要回答什么问题”,再选择“用什么工具”。
- 保持数据好奇心:拿到数据后,先用
df.describe()、df.info()或Excel的筛选、透视快速浏览,对数据分布、缺失、异常有个整体感知。 - 版本控制你的分析:对于Python脚本,使用Git进行版本管理。对于Excel和Power BI文件,保存关键版本,并注明修改内容。这能有效避免“改错了回不去”的尴尬。
- 注释和文档:在SQL查询、Python脚本、复杂Excel公式旁添加简明注释。在Power BI报表中,使用“文本框”说明指标定义和数据更新时间。
- 自动化一切重复劳动:如果某个报表需要每周手动更新,那就想办法用Python脚本或Power BI的网关自动刷新来替代它。节省下来的时间应用于更有价值的深度分析。
- 建立个人项目集:将你学习过程中完成的小分析、小仪表板整理成作品集。这不仅是学习的记录,更是求职时展示能力的有力证据。
- 学习路径迭代:本路线图是一个坚实的基础。之后,你可以根据兴趣深入某个方向,例如:
- 深入SQL:学习窗口函数、查询性能优化、存储过程。
- 深入Python:学习
Scikit-learn做机器学习预测,学习PySpark处理大数据。 - 深入BI:学习更复杂的DAX公式、数据模型优化、报表权限管理。
- 学习统计学:这是数据分析的基石,理解假设检验、回归分析等概念能让你的分析更有说服力。
数据分析是一门实践性极强的技能。不要试图看完所有教程再动手,而应该“学一点,用一点”。从一个你感兴趣的小数据集开始,提出一个简单的问题,然后尝试用今天学到的工具去解答它。遇到问题就去搜索、去查阅文档、去社区提问。这个不断“遇到问题-解决问题”的循环,才是成长最快的路径。
