首页 > 解决方案 > 对 pandas 系列“any”、“max”、“sum”与 python 内置函数的性能好奇

问题描述

在使用 pandas/numpy 的 python 应用程序中寻求性能通常受益于使用 pandas/numpy 实现的方法而不是自己实现的代码,例如通过循环。这可能是对我遇到的问题的不好介绍,但是在下面的屏幕截图中(如果我没有测试过),我期望使用该系列方法的版本比 python 内置程序运行得更快。既然不是这样,这意味着我在这个例子上建立了一个错误的直觉,但我还没有找到原因。所以问题是,为什么在这种情况下使用 python 内置函数比在系列中应用的方法具有更高的性能(我是否遗漏了其他东西?)?

在此处输入图像描述

标签: pythonpandasnumpybuilt-in

解决方案


我错过了其他东西吗?

你假设你总是会得到相同的结果,这是不正确的。sum显示和的不同输出的示例pandas.Series.sum

import pandas as pd
s = pd.Series([1.0,2.0,float("nan")])
print(s.sum())
print(sum(s))

输出

3.0
nan

推荐阅读