时间复杂度/用于熊猫“ idxmax”方法的算法

问题描述

嗨,我正在尝试了解pd.DataFrame.idxmax的效率,看看是否值得用可能更高效的自定义算法代替(例如,使用二进制搜索)。

我想了解这种方法背后的算法,或者至少要了解它的复杂性,但是到目前为止我还没有运气。任何帮助将不胜感激,谢谢。

解决方法

根据source,作者声明This method is the DataFrame version of ndarray.argmax。该方法argmax的时间复杂度为O(N),如here所示。因此可以合理地假设pd.DataFrame.idxmax具有相同的时间复杂度。

如果您想实现自己的搜索算法,请记住,如您所建议的二进制搜索需要排序的项目数组,而DataFrame列可能不是这种情况。