您将寻找什么来告诉您采取什么策略(向量化,使用numba优化函数,制作C函数等)来优化长时间运行或需要大量内存的代码?
探查器会告诉您哪些函数正在占用资源,但您如何知道是否值得花时间对其进行优化。
仅数据的性质(数据帧的大小,文件系统中的数据的大小,数据类型)能否提供线索?
你怎么知道什么时候放弃?
例如,此question
正在寻求优化加载多个文件,但似乎
IO受限,因为即使使用多重处理也无济于事。
我不是在问如何优化代码,而是在试图提高效率时,特别是在使用熊猫时,如何知道该朝哪个方向
。编辑:优化代码时,我们只是“知道”从哪里开始。我们称其为“直觉”,但这必须基于 something 。 某事是什么,这可能是我的问题。
答案 0 :(得分:0)
没有用于优化代码的奇迹公式,但是可以使用一种工具来评估一种选择相对于另一种选择的效率。
timeit
模块(此模块避免了许多用于测量执行时间的常见陷阱)time
命令(您还将对Python本身进行计时,这就是为什么时间不准确的原因)更改您的代码,看看哪个更快,就是这样。
另一个建议可能是并不总是将所有内容加载到内存中。并在使用数据时加载数据,它可能会更有效率,但不一定要测试。