在 Jupter Notebook 上,我尝试比较两种方法查找最大值索引所花费的时间。
在图像中,第一个函数进行了 1000 个循环,第二个函数进行了 10000 个循环,这是由于方法本身导致的循环增加还是 Jupyter 只是添加了更多循环以获得每个循环更准确的时间,即使第二个函数可能需要才1000,是这样吗?
%timeit
库将根据脚本执行所需的时间来限制运行次数。
运行次数可以用-n 来设置。示例:
%timeit -n 5000
df = pd.DataFrame({'High':[1,4,8,4,0]})
5000 loops, best of 3: 592 µs per loop
使用
-r
来限制运行次数:
import time
%timeit -r1 time.sleep(2)
# 2 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
%timeit -r4 time.sleep(2)
# 2 s ± 800 µs per loop (mean ± std. dev. of 4 runs, 1 loop each)
%timeit time.sleep(2)
# 2 s ± 46.5 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)