一个逐步指南:如何通过自定义方法扩展pandas DataFrames,包括完整示例以实现条件概率和期望值扩展
介绍
问题
Pandas数据框架具有广泛的内置功能,但Python程序员总会希望以新的方式查询和转换数据。
机会
常见的方法是编写函数并将数据框架作为参数传递,但这种方式可能不方便,而最佳方法是直接向pandas类添加新的方法和属性。
前进方式
非常容易通过自定义方法和属性来扩展pandas或任何其他库的类功能,从而生成易于阅读、理解和重用的代码。
背景
我为一个因果推理库编写了一些代码,其中涉及一些复杂的数据操作,频繁调用函数导致代码难以阅读和理解。
我想到的一个主意是,如果pandas数据框架能够本地执行我为之编写函数的操作,代码将变得干净、简单和易于理解。然后,我进一步研究如何扩展pandas…
解决方案
我想要实现的第一个函数是概率和条件概率。让我们考虑以下数据集…
这是一个捕捉培训、技能和收入之间关系的合成数据集,每一行代表一个个体,他们要么接受培训(或未接受),获得技能(或未获得)并增加收入(或未增加)。