Python Pandas 核心数据结构与操作实战指南
Pandas 是 Python 数据分析领域的基石,提供了高效的数据结构和运算功能。掌握它,意味着能轻松处理表格数据、进行统计分析及构建机器学习特征。
一、环境准备
首先导入库并设置别名,这是约定俗成的写法:
import pandas as pd
二、Series:一维带标签数组
Series 类似 NumPy 的一维数组,但多了索引标签(Index),可存储异构数据。
1. 创建与基础属性
默认从 0 开始索引。可以通过 index 查看标签,values 获取底层数值。

注意区分位置索引和标签。若自定义了标签(如 5, 6, 7),直接访问下标 0 会报错,此时需使用定位方法。

2. 定位方式:iloc 与 loc
这是新手最容易混淆的地方,务必分清:
- iloc:基于整数位置(Positional Index)。计算机视角的'第几个'。
- loc:基于标签(Label-based Indexing)。用户视角的'名字'。

3. 创建与修改
Series 本质是一维数据,键值对中的'键'即标签。
# 创建示例
s = pd.Series([90, 85, 95], index=['小张', '小李', '小王'])
# 修改数据:通过标签定位
s.loc['小张'] = 95

4. 筛选与布尔运算
在 Pandas 中,逻辑与需用 & 代替 and,逻辑或需用 | 代替 or,且条件需加括号。

三、算术运算与统计
1. 加减乘除
直接运算符 (+, -) 会自动对齐索引。若索引不匹配,结果会出现 NaN。推荐使用 .add(), .sub() 等方法控制行为,例如用 fill_value=0 填充缺失值。


其他运算同理:

2. 常用统计函数
包括最大值、最小值、求和、平均值等。

3. describe() 快速概览
一键生成描述性统计信息,包含计数、均值、标准差、分位数等。

4. apply() 批量处理
适用于自定义复杂逻辑,对每个元素或每列应用函数。

四、DataFrame:二维表格结构
DataFrame 是 Pandas 的核心,类似 Excel 表或 SQL 表,支持行列混合数据类型。
1. 创建与属性
创建时需确保行标签与列名对应。标签会自动排序,但建议手动管理以保持清晰。

查看行索引与列名:

2. 数据查看与转置
使用 head() 预览前几行(默认 5 行),适合大数据量场景。

行列转置使用 .T:

3. 切片与提取
- 提取列:单列用
[],多列用[[]]。 - 提取行:推荐用
loc(标签) 或iloc(位置)。 - 切片:注意左闭右开原则,如
[1:4]包含 1, 2, 3。



4. 删除数据 drop
drop 用于删除行或列,通过 axis 参数指定方向(0 为行,1 为列)。

删除行示例:

删除列示例:

5. 数据合并与赋值
两个 DataFrame 相加时,标签必须一一对应,否则会产生 NaN。运算不会原地修改原数据,需重新赋值。

五、综合案例
1. 计算平均值
mean(axis=1) 表示沿列方向聚合,即计算每一行的平均值。理解 axis 的关键:被压缩的方向。



2. 筛选第二大值
结合 loc 切片、lambda 匿名函数及 numpy.sort 实现复杂筛选。
# 选取部分列,按行应用 lambda 函数
result = df.loc[:, "考试 1":"考试 3"].apply(
lambda x: np.sort(x)[-2]
)

掌握这些基础操作,基本覆盖了日常数据处理 80% 的场景。后续可根据实际需求深入学习分组聚合、透视表等高级功能。


