概述
Pandas 是 Python 数据分析的核心库,提供了强大的数据结构(Series 和 DataFrame)及运算功能。它类似于 SQL 表或 Excel 工作表,支持多种数据类型混合存储,是处理表格数据的首选工具。
环境准备
首先导入库并设置别名:
import pandas as pd
import numpy as np
Series 基础操作
Series 是一维数组,类似 Numpy 的 array,但带有索引标签,可存储字符串、布尔值或数字。
创建与查看
默认从 0 开始索引:

使用 index 获取标签序列,values 获取底层数值:

注意区分标签(Label)和下标(Position)。自定义标签后,默认位置访问会报错,此时需配合 loc 和 iloc 使用。
loc 与 iloc 的区别
- iloc:基于整数下标(计算机记忆),如
s.iloc[1]。 - loc:基于自定义标签(人类可读),如
s.loc['a']。

数据修改与筛选
通过 loc 可直接修改指定标签的值:

筛选时,逻辑运算符需用 & 代替 and:

算术运算
两个 Series 相加、减、乘、除时,若索引不匹配会产生 NaN。可使用 add, sub, mul, div 方法配合 fill_value 参数填充缺失值。
例如加法:

若直接相加出现 NaN,可指定 fill_value=0:

减法、乘法、除法同理,分别对应 sub, mul, div 方法。
统计与分析
常用统计方法包括最大值、最小值、求和、平均值等:

describe() 方法可提供更详细的描述性统计信息:

apply() 用于批量处理数据,可传入自定义函数:

DataFrame 二维操作
DataFrame 是二维表格结构,每列可包含不同数据类型。
创建与属性
创建时需确保标签长度一致:

标签会自动排序,行属性用 index 查看,列属性用 columns 查看:


切片与提取
行列调换可用 T 属性:

提取单列返回 Series,多列需加双层括号:


行提取同样遵循 loc(标签)和 iloc(下标)规则:

切片操作支持标签范围和下标范围,注意结束位置不包含在内:


删除与合并
drop 方法用于删除行或列,通过 axis 参数指定方向:

添加新列后,删除行示例:

删除列示例:

两表相加时,标签需一一对应,否则结果可能错位。运算不会修改原数据,需重新赋值:


进阶案例
计算平均值
mean(axis=1) 表示对每一行求平均。这里容易混淆:axis=0 沿列方向聚合(结果按列),axis=1 沿行方向聚合(结果按行)。简单理解:被包含的方向相反。



筛选第二大值
结合 loc 切片、lambda 匿名函数及 numpy.sort 可实现复杂筛选:
# 选取特定列区域
subset = df.loc[:, "考试 1":"考试 3"]
# 定义匿名函数取倒数第二个值
result = subset.apply(lambda x: np.sort(x)[-2])



