【问题标题】:how much time a function will take to run in python [duplicate]在python中运行一个函数需要多长时间[重复]
【发布时间】:2017-04-17 21:54:13
【问题描述】:

我定义了一个函数,比如说

def func1(id):
    ....
    logic
    dataframe2.to_sql(query)
    ....

它运行一些操作并将结果存储在数据库中

我在 pandas 数据框中有一个表,其中有 id 列,大约 1000 行具有不同的 id

我将使用 .apply 函数调用此函数。

df['id'].apply(func1)

这将一次获取一个 id 并执行操作并将其存储在数据库中,我的数据框中的所有 id 都会发生同样的情况。

有什么方法可以计算我的函数运行的总时间 对于 df 中的所有 id?

我在想也许可以使用time 包并对其进行处理。但我是初学者。

import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))

有什么办法吗?

【问题讨论】:

  • @EdChum 确实!你为什么不投票关闭?我刚做了。
  • @Jean-FrançoisFabre 我的票数已经用完了,否则我会欺骗锤子这个
  • 抱歉没有想到。努力获得蟒蛇金徽章,但路径很长:)
  • @rassar 这不是这个问题的规范副本,事实上这个问题是我发布的那个问题的欺骗,原则上我们应该关闭重复的问题以避免多个帖子,因为这只是添加噪音到 SO

标签: python


【解决方案1】:

您也可以使用上下文管理器来检查它。当您想重复使用它时,它可以节省一些时间。

>>> class TimeMyFunc(object):
...      def __enter__(self):
...          self.begin = time.time()
...      def __exit__(self,*args):
...          elapsed = time.time() - self.begin
...          print elapsed
...          
>>> with TimeMyFunc():
...     time.sleep(1)
...     
1.0

【讨论】:

    猜你喜欢
    • 2020-01-30
    • 2011-11-03
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 2018-12-07
    • 2020-03-19
    相关资源
    最近更新 更多