使用 pandas/numpy 在 python 应用程序中寻求性能通常受益于使用 pandas/numpy 实现的方法,而不是自己实现的代码(例如通过循环)。这可能是对我的问题的一个不好的介绍,但在下面的屏幕截图中(如果我没有测试过的话)我期望使用该系列方法的版本比 python 内置函数运行得更快。因为事实并非如此,这意味着我对这个例子建立了错误的直觉,但我还找不到原因。所以问题是,为什么在这种情况下使用 python 内置函数比该系列中应用的方法具有更高的性能(我是否还遗漏了其他内容?)?
最佳答案
Pandas 有自己的函数,与 Python 的内置函数方式不同,因此,如果您调用 Series.max()
,您实际上是在调用 nanops._nanminmax()
这是通过 IndexOpsMixin
添加的而不是builtins.max()
每个行为都不同,因此有不同的性能时间。
其余方法也类似。如果您好奇,请查看 Series
的源代码类及其继承的类,以明确内置函数和 Pandas 实现之间的差异。
关于python - 对 pandas 系列 `any` 、 `max` 、 `sum` 与 python 内置函数的性能好奇心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68436496/