编辑:我的问题问得不好,也不够详细。我正在重新做得更好,请给我时间做
编辑2:我的问题不够清楚,也不适应我的问题,我用不同的方式解决了我的问题。我不能删除问题,但请不要回答,我搞砸了问题。
我的目标是用average
方法在pandas Dataframe 上执行排名计算,但是平均计算应该四舍五入到3位小数。
原因:我正在将一个脚本从另一种语言翻译成Python,在这种语言中,mean函数会自动将结果舍入为小数点后的3位。Pandas不会。因此,为了在Python中获得完全相同的结果(我必须),我需要:
- 将自定义
method
参数传递给rank
函数,此自定义方法为舍入平均值 - 强制Python在计算平均值时只取3位小数(这对我的脚本来说很好)。
这些想法有可能吗?
第一语言:
mean(mydata['mycolumn']) = 1360.045
在Python中:
mydata.mycolumn.mean() = 1360.0448559218441
因此,当计算mycolumn
的排名(如果重要的话,则由另一列分组,idk)时,排名是不一样的,最终结果在两种语言之间是不同的。
2条答案
按热度按时间esbemjvw1#
您可以为DataFrames创建自定义方法:
示例:
与
rank
组合:round3rank
方法来直接执行此操作。*输出:
gk7wooem2#
您可以创建自定义函数: