Pandas #
什么是 Pandas? #
Pandas 是 Python 最流行的数据分析库,由 Wes McKinney 于 2008 年创建。Pandas 提供了快速、灵活、表达力强的数据结构,旨在使"关系"或"标记"数据的工作既简单又直观。它是数据科学、金融分析、学术研究和商业智能领域的事实标准工具。
Pandas 的优势 #
| 优势 | 说明 |
|---|---|
| 易用性 | 直观的 API,类似 SQL 和 Excel 的操作方式 |
| 功能全面 | 数据清洗、转换、分析、可视化一站式解决 |
| 高性能 | 底层使用 NumPy,处理大数据效率高 |
| 生态丰富 | 与 NumPy、Matplotlib、Scikit-learn 无缝集成 |
| 社区活跃 | 丰富的文档、教程和第三方扩展 |
| 格式支持 | 支持 CSV、Excel、SQL、JSON、Parquet 等多种格式 |
文档结构 #
本指南按以下结构组织,适合初学者按顺序学习:
1. 基础入门 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Pandas 简介 | Pandas 的发展历史、特点、应用场景 | intro.md |
| 安装与配置 | 环境搭建、安装方式、开发工具 | installation.md |
2. 核心数据结构 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Series 基础 | 一维数据结构、创建与操作 | series.md |
| DataFrame 基础 | 二维数据结构、创建与操作 | dataframe.md |
| 数据类型 | Pandas 数据类型、类型转换 | data-types.md |
| 索引操作 | 索引创建、修改、多层索引 | indexing.md |
3. 数据处理 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 数据读写 | CSV、Excel、SQL、JSON 等格式读写 | read-write.md |
| 数据选择 | loc、iloc、条件选择 | selection.md |
| 数据过滤 | 条件过滤、查询、布尔索引 | filter.md |
| 数据清洗 | 缺失值处理、重复值、异常值 | cleaning.md |
4. 数据分析 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 统计分析 | 描述统计、相关性分析 | statistics.md |
| 分组聚合 | groupby、聚合函数、透视表 | groupby.md |
| 合并连接 | merge、join、concat | merge-join.md |
| 数据重塑 | pivot、melt、stack、unstack | reshape.md |
5. 高级主题 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 时间序列 | 时间索引、重采样、滚动窗口 | time-series.md |
| 数据可视化 | 绑定 Matplotlib 的绘图功能 | visualization.md |
| 性能优化 | 向量化、内存优化、并行处理 | performance.md |
| 高级操作 | 自定义函数、管道操作 | operations.md |
6. 实战案例 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 数据分析实战 | 完整数据分析流程案例 | data-analysis.md |
| 数据管道 | 构建可复用的数据处理流程 | data-pipeline.md |
| 最佳实践 | 编码规范、性能技巧、常见陷阱 | best-practices.md |
学习路径 #
入门阶段(Pandas 新手) #
text
Pandas 简介 → 安装配置 → Series 基础 → DataFrame 基础
- 了解 Pandas 的基本概念和优势
- 搭建 Pandas 开发环境
- 掌握 Series 的创建和基本操作
- 理解 DataFrame 的结构和操作
- 学会基本的数据读写
进阶阶段(Pandas 熟练) #
text
数据选择 → 数据过滤 → 数据清洗 → 统计分析
- 掌握 loc、iloc 等数据选择方法
- 学会条件过滤和布尔索引
- 处理缺失值、重复值和异常值
- 进行描述性统计和相关性分析
- 使用 groupby 进行分组聚合
高级阶段(Pandas 专家) #
text
合并连接 → 数据重塑 → 时间序列 → 性能优化
- 掌握 merge、join、concat 操作
- 学会 pivot、melt 等重塑操作
- 处理时间序列数据
- 优化大数据处理性能
- 创建自定义函数和管道
大师阶段(Pandas 大师) #
text
实战项目 → 数据管道 → 最佳实践 → 源码研究
- 完成完整的数据分析项目
- 构建可复用的数据处理管道
- 掌握性能优化和最佳实践
- 参与 Pandas 开源社区贡献
Pandas vs 其他工具 #
Pandas vs Excel #
| 特性 | Pandas | Excel |
|---|---|---|
| 数据量 | 百万级+ | 有限(约100万行) |
| 自动化 | 完全可编程 | 需要手动操作 |
| 可重复性 | 高 | 低 |
| 复杂计算 | 强大 | 有限 |
| 学习曲线 | 中等 | 平缓 |
| 可视化 | 需配合 Matplotlib | 内置丰富 |
Pandas vs SQL #
| 特性 | Pandas | SQL |
|---|---|---|
| 运行环境 | 内存 | 数据库服务器 |
| 数据规模 | 适合中小数据 | 适合大数据 |
| 灵活性 | 极高 | 中等 |
| 复杂计算 | Python 全功能 | 受限于 SQL 语法 |
| 学习曲线 | 中等 | 平缓 |
| 持久化 | 需手动保存 | 自动持久化 |
Pandas vs R data.frame #
| 特性 | Pandas | R data.frame |
|---|---|---|
| 语言 | Python | R |
| 生态 | Python 数据科学生态 | R 统计分析生态 |
| 性能 | 高 | 中等 |
| 语法 | 面向对象 | 函数式 |
| 可视化 | Matplotlib/Seaborn | ggplot2 |
| 社区 | 更大 | 统计学领域强 |
快速开始 #
安装 Pandas #
bash
pip install pandas
第一个示例 #
python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'city': ['New York', 'London', 'Tokyo']
})
# 查看数据
print(df)
# 基本统计
print(df.describe())
# 数据筛选
print(df[df['age'] > 25])
读取 CSV 文件 #
python
import pandas as pd
# 读取 CSV
df = pd.read_csv('data.csv')
# 查看前几行
print(df.head())
# 查看数据信息
print(df.info())
# 保存到 Excel
df.to_excel('output.xlsx', index=False)
核心概念预览 #
Series - 一维数据 #
python
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s)
DataFrame - 二维数据 #
python
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'c']
})
print(df)
数据选择 #
python
# 选择列
df['A']
# 选择行
df.loc[0]
df.iloc[0]
# 条件选择
df[df['A'] > 1]
分组聚合 #
python
df.groupby('category').agg({
'value': ['mean', 'sum', 'count']
})
资源推荐 #
- 官方文档:https://pandas.pydata.org/docs/
- GitHub 仓库:https://github.com/pandas-dev/pandas
- Pandas 速查表:https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf
- Python 数据科学手册:https://jakevdp.github.io/PythonDataScienceHandbook/
开始学习 #
准备好了吗?让我们从 Pandas 简介 开始你的数据分析学习之旅!
最后更新:2026-04-04