2016-12-02 66 views
0

我定義的函數運行,說功能將花費多少時間在Python

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

它運行的一些行動和結果存儲在數據庫

和我有大熊貓數據幀一表,有id列在裏面,並用不同的ID的

我將調用使用。適用功能該功能約1000行。

df['id'].apply(func1) 

這將需要一個ID在同一時間,做業務並將其存儲在數據庫中,同樣會發生在我的數據幀的所有ID。

有什麼辦法來計算我的函數多少總時間了運行 所有ID在DF?

我想也許使用time包並用它做smthing。但我是一個初學者。

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

有沒有辦法做到這一點?

+0

@EdChum哉!你爲什麼不投票結束?我已經做了。 –

+0

@ Jean-FrançoisFabre我跑出了密切的選票,否則我會欺騙這個 – EdChum

+0

抱歉沒有想到這一點。工作我的方式,蟒蛇金徽章,但路徑很長:) –

回答

0

你也可以使用上下文管理器來檢查它。它可以節省一些時間,當你想重用它。

>>> 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