2

我需要找到 pandas 数据框的中位数,并使用之前的 SO 答案中的一段代码:How I do find median using pandas on a dataset? .

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

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

它似乎运行良好,所以我对此感到高兴,但我有一个问题:transform 方法是如何在没有任何事先说明的情况下采用“中位数”参数的?我一直在阅读 transform 的文档,但没有发现任何关于使用它来查找中位数的内容。

基本上, .transform('median') 起作用的事实对我来说似乎很神奇,虽然我对魔法没有任何问题,并且把自己想象成一个年轻的 Tony Wonder,但我很好奇它是如何工作的。

4

1 回答 1

2

我建议深入研究源代码以了解其工作原理的确切原因(而且我是移动的,所以我会很简洁)。

当您将参数传递'median'tranformpandas 时,它会在幕后将其转换getattr为适当的方法,然后就像您向它传递了一个函数一样。

于 2013-06-17T03:48:48.233 回答