Python 数据分析知识体系概览
为什么数据分析师要学 Python?
Python 是数据分析师的第二大核心工具(第一是 SQL)。如果说 SQL 是从数据库"取数据",那 Python 就是"处理数据、分析数据、展示数据"的全能选手。
| 优势 | 说明 |
|---|---|
| 生态丰富 | Pandas、NumPy、Scikit-learn、Matplotlib 等库覆盖分析全流程 |
| 灵活性强 | 比 SQL 更灵活,能处理非结构化数据、复杂逻辑 |
| 自动化 | 批量处理、定时任务、报表自动化 |
| 可视化 | Matplotlib、Seaborn、Plotly 等可视化生态 |
| 机器学习 | 从数据分析无缝过渡到预测建模 |
面试定位
数据分析师面试中,Python 通常考查 Pandas 数据处理(80% 以上),少量考 NumPy 和可视化。手写 Pandas 代码是高频考点。
Python 数据分析全景图
核心工具库
| 库 | 定位 | 关键特性 | 面试重要度 |
|---|---|---|---|
| Pandas | 数据处理核心 | DataFrame、Series、groupby、merge | ⭐⭐⭐⭐⭐ |
| NumPy | 数值计算基础 | ndarray、广播、向量化 | ⭐⭐⭐⭐ |
| Matplotlib | 基础可视化 | 画布/子图、折线/柱状/散点 | ⭐⭐⭐ |
| Seaborn | 统计可视化 | 分布图、热力图、分类图 | ⭐⭐⭐ |
| Polars | 高性能替代 | LazyFrame、Rust 后端、大数据量 | ⭐⭐⭐ |
| Jupyter | 交互式开发 | Notebook、即时运行、可视化展示 | ⭐⭐⭐ |
核心知识导航
| 主题 | 说明 | 面试重要度 |
|---|---|---|
| Pandas 基础操作 | DataFrame/Series、索引、数据选取、数据类型 | ⭐⭐⭐⭐⭐ |
| Pandas 数据清洗 | 缺失值、重复值、异常值处理、类型转换 | ⭐⭐⭐⭐⭐ |
| Pandas 聚合与分组 | groupby、agg、pivot_table、crosstab | ⭐⭐⭐⭐⭐ |
| Pandas 数据合并 | merge/join/concat、多表关联策略 | ⭐⭐⭐⭐ |
| Pandas 时间序列 | 日期解析、重采样、滑动窗口、时区 | ⭐⭐⭐⭐ |
| NumPy 核心操作 | ndarray、广播机制、向量化计算 | ⭐⭐⭐⭐ |
| Polars 与大数据量处理 | LazyFrame、表达式 API、与 Pandas 对比 | ⭐⭐⭐ |
Pandas vs SQL 对照
数据分析面试常考"用 Pandas 实现 SQL 操作",以下是快速对照:
| SQL | Pandas | 示例 |
|---|---|---|
SELECT col | df['col'] 或 df[['col1','col2']] | 选列 |
WHERE | df[df['col'] > 10] | 条件筛选 |
ORDER BY | df.sort_values('col') | 排序 |
GROUP BY ... AGG | df.groupby('col').agg(...) | 分组聚合 |
JOIN | pd.merge(df1, df2, on='key') | 表连接 |
DISTINCT | df['col'].unique() / df.drop_duplicates() | 去重 |
LIMIT | df.head(n) | 行数限制 |
CASE WHEN | np.where() / df['col'].map() | 条件赋值 |
UNION ALL | pd.concat([df1, df2]) | 纵向合并 |
窗口函数 | df.groupby().transform() / rolling() | 窗口计算 |
学习路线建议
与其他章节的关系