详细内容或原文请订阅后点击阅览
数据科学家如何在 Python 中使用简单数据契约
使用 Pandera 进行简单的开源验证,阻止您的管道在周五下午崩溃。如何为数据科学家使用 Python 中的简单数据契约一文首先出现在 Towards Data Science 上。
来源:走向数据科学说实话:我们都经历过这样的情况。
现在是星期五下午。您已经训练了模型、验证了它并部署了推理管道。指标看起来是绿色的。周末你关闭笔记本电脑,享受假期。
周一早上,您上班时会收到“管道失败”消息。这是怎么回事?当您部署推理管道时,一切都很完美。
“管道失败”事实上,问题可能有很多方面。也许上游工程团队将 user_id 列从整数更改为字符串。或者价格列可能突然包含负数。或者我个人最喜欢的:列名称从created_at更改为createdAt(驼峰式命名法再次出现!)。
用户 ID
价格
创建于
创建于
业界称之为模式漂移。我称之为头痛。
架构漂移最近,人们谈论了很多关于数据契约的话题。通常,这涉及向您出售昂贵的 SaaS 平台或复杂的微服务架构。但如果您只是一名数据科学家或工程师,试图防止 Python 管道爆炸,那么您不一定需要企业膨胀。
数据合约工具:Pandera
让我们了解如何使用 Pandera 库在 Python 中创建一个简单的数据契约。它是一个开源 Python 库,允许您将模式定义为类对象。它感觉与 Pydantic 非常相似(如果您使用过 FastAPI),但它是专门为 DataFrames 构建的。
潘德拉首先,您只需使用 pip 安装 pandera:
潘德拉
pip 安装 pandera
现实生活中的示例:营销线索源
让我们看一个经典场景。您正在从第三方供应商获取营销线索的 CSV 文件。
这是我们期望的数据:
期望- id:一个整数(必须是唯一的)。email:一个字符串(实际上必须看起来像电子邮件)。signup_date:一个有效的日期时间对象。lead_score:0.0 到 1.0 之间的浮点数。
如果
第一个
