详细内容或原文请订阅后点击阅览
为什么我的代码这么慢? Py-Spy Python 分析指南
停止猜测并开始使用 Py-Spy 诊断性能问题这篇文章《为什么我的代码这么慢?》 《Py-Spy Python 分析指南》首先出现在《Towards Data Science》上。
来源:走向数据科学数据科学代码中令人沮丧的调试问题不是语法错误或逻辑错误。相反,它们来自的代码完全按照预期执行,但需要花费很长时间才能完成。
功能齐全但效率低下的代码可能是数据科学工作流程中的巨大瓶颈。在本文中,我将简要介绍和演练 py-spy,这是一个旨在分析 Python 代码的强大工具。它可以准确地查明您的程序在哪里花费了最多的时间,以便识别和纠正效率低下的地方。
示例问题
让我们设置一个简单的研究问题来编写一些代码:
“对于往返于美国各州和领地之间的所有航班,哪个出发机场的平均航班最长?”
下面是一个简单的 Python 脚本,使用从运输统计局 (BTS) 检索的数据来回答这个研究问题。该数据集包含 2025 年 1 月至 6 月期间美国各州和地区境内每个航班的数据,以及出发地和目的地机场的信息。大约有 350 万行。
它计算每次飞行的半正矢距离(球体上两点之间的最短距离)。然后,它按出发机场对结果进行分组,找出平均距离并报告前五名。
运行此代码会产生以下输出:
平均距离
DISPLAY_AIRPORT_NAME_ORIGIN
帕果帕果国际 4202.493567关岛国际 3142.363005路易斯·穆尼奥斯·马林 国际 2386.141780特德·史蒂文斯 安克雷奇国际 2246.530036丹尼尔·井上国际 2211.857407花了 169.8935534954071 秒这些结果很有意义,因为列出的机场分别位于美属萨摩亚、关岛、波多黎各、阿拉斯加和夏威夷。这些都是美国本土以外的地区,预计平均飞行距离较长。现在让我们看看 py-spy 如何帮助我们准确诊断哪些行花费了这么长时间。
