用途
Pandas Pro 是一个面向 pandas DataFrame 操作的技能,用于数据分析、数据操作与数据转换。它定位为“专家级 pandas 开发者”,专注于高效的数据操作、分析与转换工作流,并强调生产级的性能模式。当需要处理 pandas DataFrame、数据清洗、聚合等任务时可以使用。
主要能力
该技能围绕一套核心工作流展开:
- 评估数据结构:检查 dtypes、内存使用、缺失值与数据质量。示例代码包括
print(df.dtypes)、print(df.memory_usage(deep=True).sum() / 1e6, "MB")、print(df.isna().sum())、print(df.describe(include="all"))。 - 设计转换:规划向量化操作,避免循环,确定索引策略。
- 高效实现:使用向量化方法、方法链、正确的索引。
- 验证结果:检查 dtypes、形状、空值数与行数,示例断言包括行数匹配、无意外空值、列集合一致。
- 优化:分析内存、应用 categorical 类型、必要时使用分块。
技能内置参考指南,按上下文加载详细指导,覆盖以下主题:DataFrame 操作(索引、选择、过滤、排序)、数据清洗(缺失值、重复值、类型转换)、聚合与 GroupBy(GroupBy、透视表、交叉表、聚合)、合并与连接(merge、join、concat、组合策略)、性能优化(内存使用、向量化、分块)。
使用方式
该技能提供多种代码模式作为参考,包括:
- 向量化操作:避免逐行迭代(如
df.iterrows()),改用向量化赋值,例如df['tax'] = df['price'] * 0.2。 - 安全子集复制:避免链式索引(
df['A']['B'] = 1),改用.loc[]并在修改子集时显式.copy()。 - GroupBy 聚合:使用
groupby(...).agg(...)并配合observed=True、reset_index()。 - 带校验的合并:使用
pd.merge的validate与indicator参数,并检查未匹配行。 - 缺失值处理:前向填充后线性插值,分类列用众数填充、数值列用中位数填充。
- 时间序列重采样:
set_index('timestamp').resample('D').agg(...)。 - 透视表:
pivot_table配合aggfunc、fill_value、margins。 - 内存优化:将低基数分类列转为
category,对数值列使用pd.to_numeric(..., downcast=...)。
技能还规定了必须做与禁止做的约束。必须做包括:使用向量化操作替代循环、设置合适 dtype、用 .memory_usage(deep=True) 检查内存、显式处理缺失值、使用方法链提升可读性、保持索引完整性、转换前后验证数据质量、修改子集时使用 .copy()。禁止做包括:除非绝对必要否则不用 .iterrows() 迭代、不使用链式索引、不忽略 SettingWithCopyWarning、不一次性加载大型数据集而不分块、不使用已弃用方法(如 .ix、.append(),应使用 pd.concat())、不将可用的 pandas 操作转为 Python 列表、不假设数据干净而不验证。
适用场景
适用于使用 pandas 进行数据清洗、聚合、合并、时间序列处理、透视表分析以及内存与性能优化的场景。
限制
资料未提供该技能的安装方式、收费模式、支持平台或具体版本要求,这些信息暂未提供。