一、Pandas 是什么?
Pandas 是 Python 语言的一个扩展程序库,用于数据分析。
名字来源: Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。
核心定位:
| 特点 | 说明 |
|---|---|
| 开源免费 | BSD 许可的库 |
| 高性能 | 底层基于 NumPy,运算高效 |
| 易用 | 提供高级数据结构与丰富 API |
| 通用 | 适用于各类结构化数据分析 |
Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。它是一个强大的分析结构化数据的工具集,基础是 NumPy(提供高性能的矩阵运算)。
二、学习前需要了解什么?
在开始学习 Pandas 教程之前,我们需要具备基本的 Python 基础。如果你对 Python 还不了解,可以阅读:
-
Python 2.x 版本
-
Python 3.x 版本
-
Matplotlib 教程
为什么需要 NumPy?
Pandas 的底层数据结构基于 NumPy 数组构建。理解 NumPy 的数组运算、切片、广播等概念,能让你更快掌握 Pandas。
知识依赖关系:
text
Python 基础 ↓ NumPy(数组运算) ↓ Pandas(数据分析) ↓ Matplotlib / Seaborn(数据可视化)
建议学习路径: 先掌握 Python 基础语法,再了解 NumPy 数组操作,然后学习 Pandas,最后结合 Matplotlib 完成数据可视化。
三、Pandas 的应用场景
Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。它也可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。
典型应用:
| 领域 | 应用 |
|---|---|
| 学术研究 | 实验数据处理、统计分析 |
| 金融分析 | 股票行情、财务报表分析 |
| 商业智能 | 销售数据、用户行为分析 |
| 机器学习 | 特征工程、数据预处理 |
| 运营分析 | 日志处理、指标监控 |
四、Pandas 核心功能
Pandas 是数据分析的利器,它不仅提供了高效、灵活的数据结构,还能帮助你以极低的成本完成复杂的数据操作和分析任务。
Pandas 提供了丰富的功能,包括:
| 功能 | 说明 |
|---|---|
| 数据清洗 | 处理缺失数据、重复数据等 |
| 数据转换 | 改变数据的形状、结构或格式 |
| 数据分析 | 进行统计分析、聚合、分组等 |
| 数据可视化 | 通过整合 Matplotlib 和 Seaborn 等库,可以进行数据可视化 |
功能详解:
1. 数据清洗
python
# 删除缺失值 df.dropna() # 填充缺失值 df.fillna(0) # 删除重复行 df.drop_duplicates()
2. 数据转换
python
# 改变形状(宽表转长表) df.melt() # 改变结构(长表转宽表) df.pivot() # 类型转换 df['age'].astype(int)
3. 数据分析
python
# 分组聚合 df.groupby('category').mean() # 描述性统计 df.describe() # 相关性分析 df.corr()
4. 数据可视化
python
import matplotlib.pyplot as plt df.plot(kind='bar') plt.show()
五、数据结构
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)。
1. Series
Series 是一种类似于一维数组的对象,它由一组数据(各种 NumPy 数据类型)以及一组与之相关的数据标签(即索引)组成。
python
import pandas as pd # 创建 Series s = pd.Series([1, 3, 5, 7, 9]) print(s)
输出:
text
0 1 1 3 2 5 3 7 4 9 dtype: int64
Series 的组成:
| 部分 | 说明 |
|---|---|
| 数据 | 值本身 |
| 索引 | 每个值对应的标签 |
2. DataFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
python
import pandas as pd data = { 'Name': ['Google', 'Runoob', 'Taobao'], 'Age': [25, 30, 35] } df = pd.DataFrame(data) print(df)
输出:
text
Name Age 0 Google 25 1 Runoob 30 2 Taobao 35
DataFrame 的结构:
| 部分 | 说明 |
|---|---|
| 行索引 | 左侧的 0、1、2 |
| 列索引 | 顶部的 Name、Age |
| 数据 | 表格中的值 |
Series 与 DataFrame 对比:
| 对比项 | Series | DataFrame |
|---|---|---|
| 维度 | 一维 | 二维 |
| 类比 | 一列数据 | 一张表格 |
| 索引 | 单一索引 | 行索引 + 列索引 |
| 创建方式 | pd.Series([...]) |
pd.DataFrame({...}) |
六、第一个 Pandas 实例
python
import pandas as pd # 创建一个简单的 DataFrame data = {'Name': ['Google', 'Runoob', 'Taobao'], 'Age': [25, 30, 35]} df = pd.DataFrame(data) # 查看 DataFrame print(df)
输出结果:
text
Name Age 0 Google 25 1 Runoob 30 2 Taobao 35
代码解析:
| 代码 | 作用 |
|---|---|
import pandas as pd |
导入 Pandas,约定别名为 pd |
data = {...} |
定义字典,键为列名,值为数据列表 |
pd.DataFrame(data) |
将字典转为 DataFrame |
print(df) |
打印 DataFrame |
七、Pandas 在数据科学生态中的位置
Pandas 是 Python 数据科学领域中不可或缺的工具之一,它的灵活性和强大的功能使得数据处理和分析变得更加简单和高效。
生态关系:
| 库 | 定位 | 与 Pandas 的关系 |
|---|---|---|
| NumPy | 数值计算 | Pandas 的底层基础 |
| Matplotlib | 基础绘图 | 与 Pandas 配合可视化 |
| Seaborn | 统计可视化 | 直接接受 DataFrame |
| Scikit-learn | 机器学习 | 接受 Pandas 数据作为输入 |
八、本系列学习路线
| 阶段 | 内容 |
|---|---|
| 基础篇 | Series、DataFrame、索引与选择 |
| 数据读写 | CSV、Excel、JSON、SQL 的导入导出 |
| 数据清洗 | 缺失值、重复值、异常值处理 |
| 数据操作 | 筛选、排序、分组、聚合、合并 |
| 进阶篇 | 多层索引、时间序列、透视表 |
| 实战篇 | 结合 Matplotlib 完成数据分析报告 |
九、相关链接
Pandas:
NumPy:
Matplotlib:
十、小结
本篇你认识了 Pandas:
-
定位:Python 数据分析的核心库,基于 NumPy 构建。
-
名字来源:panel data + Python data analysis。
-
核心功能:数据清洗、转换、分析、可视化。
-
两大结构:Series(一维)与 DataFrame(二维)。
-
应用领域:学术、金融、统计、机器学习等。
-
生态位置:连接 NumPy 与 Matplotlib/Scikit-learn 的桥梁。
Pandas 让数据处理变得简单高效。下一篇我们将深入学习 Series 数据结构,掌握一维数据的创建与操作。