← 返回文章列表

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

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

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

Series 与 DataFrame

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

选择与筛选

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

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

变换、规约与合并

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

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

阅读 2023 年原文。

还没有评论。你可以留下第一个经过思考的补充。

参与讨论

评论会在审核通过后显示。邮箱仅用于必要联系,不会公开。

请围绕文章内容讨论,避免提交个人敏感信息。

返回文章开头