为什么pandas应用比数据帧合并慢得多

时间:2016-08-02 03:05:06

标签: python pandas

从我的previous question,我知道apply比直接数据帧合并慢得多。

但是我仍然感到困惑的是为什么那么慢,正如我的理解,如果数据帧中有N行,则应用函数应该作为O(N)......

有人能解释一下apply和dataframe合并背后的理论吗?或者有没有资源可以研究它?

提前致谢:)

1 个答案:

答案 0 :(得分:1)

答案是。 Python可能比C慢几百倍,仅仅因为它是Python,具有等效的渐近性。作为一名具有大量数字运算经验的应用数学家,我可以证明C可以比Python快几十到几百倍。有关官方来源,请参阅 these benchmarks

请记住,渐近复杂性仅限于仅缩放。两种算法可以很容易地具有相同的复杂性,但在运行时的数量级也不同。现在,如果你发现Python比C更慢地减少 ,那么(当它被认为是线性时,输入加倍使运行时加倍),你可以处理渐近重要的算法差异。