用熊猫变换求中值



我需要找到pandas数据框的中位数,并使用了前面SO答案中的一段代码:我如何在数据集上使用pandas找到中位数?

我从答案中使用了以下代码:

data['metric_median'] = data.groupby('Segment')['Metric'].transform('median')

它似乎工作得很好,所以我很高兴,但我有一个问题:它是如何转换方法采取参数'中位数'没有任何事先的规范?我一直在阅读转换的文档,但没有发现任何提及使用它来找到中位数。

基本上,.transform('median')的工作对我来说就像魔术一样,虽然我对魔术没有问题,并幻想自己是一个年轻的Tony Wonder,但我很好奇它是如何工作的。

我建议深入源代码,看看这到底是为什么工作的(我是移动的,所以我会简洁)。

当您将参数'median'传递给tranform时,pandas将其通过getattr在幕后转换为适当的方法,然后表现得像您传递给它一个函数。

最新更新