我需要找到pandas数据帧的中位数,并使用了之前的SO答案中的一段代码:How I do find median using pandas on a dataset?。
我使用了以下代码:
data['metric_median'] = data.groupby('Segment')['Metric'].transform('median')
它似乎工作得很好,所以我很高兴,但我有一个问题:如果没有任何先前的规范,转换方法如何采用参数'中位数'?我一直在阅读转换文档,但没有找到使用它来查找中位数的提及。
基本上,.transform('median')工作的事实对我来说似乎很神奇,虽然我对魔术没有任何问题,并且想象自己年轻的Tony Wonder,但我很好奇它是如何工作的。
答案 0 :(得分:2)
我建议深入了解源代码以确切了解其工作原理(我是移动的,所以我会简洁)。
当您将参数'median'
传递给tranform
时,pandas会通过getattr
将其转换为适当的方法,然后就像传递函数一样。