返回写作

理解 Pandas 架构:从数据模型到组合操作

旧站学习笔记归档:用 Series、DataFrame、索引、掩码与组合操作建立 Pandas 的整体心智模型。

理解 Pandas 架构:从数据模型到组合操作封面

Pandas 的 API 很多,但日常操作可以围绕几个稳定概念组织。把它只当作二维数组,会自然地写出大量逐行循环;把它理解为带索引的列式数据模型,选择、筛选、变换和合并就会变得统一。

Series 与 DataFrame

Series 是带索引的一维数据;DataFrame 可以看作共享行索引的一组 Series。列名描述特征,行描述观测,索引负责对齐。多数操作返回新对象,是否原地修改需要明确确认。

选择与筛选

选择一列通常得到 Series,选择多列得到 DataFrame。涉及行或位置时使用 lociloc。筛选则分成两步:先由条件生成布尔掩码,再用掩码保留符合条件的观测。

mask = df["shield"].eq(8)
result = df.loc[mask, ["name", "shield"]]

变换、规约与合并

map 作用于元素,apply 作用于序列或轴,规约把一组值收敛成结果。concat 更适合同构数据的纵向组合,merge 则依据键连接不同特征。groupby 延迟建立分组,并把后续聚合或变换应用到每一组。

把这些操作理解为数据流,比背诵零散 API 更容易迁移到新的分析问题。

阅读 2023 年原文