【发布时间】:2020-02-22 09:35:00
【问题描述】:
我想检查在合并 2 个数据帧时使用数字查找值是否比使用字符串查找值更快。为此,我将 %timeit 与以下代码一起使用:
合并字符串查找值:
%timeit newframe = subframe.merge(frame, on = 'a string column', how = 'left')
结果:每个循环 2.82 ms ± 22.4 µs(平均值 ± 标准偏差,7 次运行,每次 100 个循环)
合并一个数字查找值:
%timeit newframe2 = subframe.merge(frame, on = 'a numeric column', how = 'left')
结果:每个循环 2.88 ms ± 28.7 µs(平均值 ± 标准偏差,7 次运行,每次 100 个循环)
我的问题是,在我的代码中,没有任何循环。我想知道timeit结果中的运行次数和循环次数有什么区别?
7 次运行是否意味着 timeit 模块运行 7 次合并并计算这 7 次运行的平均值和标准差?如果是这样,循环是什么意思?
【问题讨论】: