Efficiënte code schrijven met pandas
Leonidas Souliotis
PhD Researcher
time.time(): geeft de tijd in seconden sinds 1 jan 1970, 00:00
import time# tijd vóór uitvoering start_time = time.time()# operatie uitvoeren result = 5 + 2# tijd ná uitvoering end_time = time.time()print("Result calculated in {} sec".format(end_time - start_time))
Result calculated in 9.48905944824e-05 sec
list_comp_start_time = time.time()
result = [i*i for i in range(0,1000000)]
list_comp_end_time = time.time()
print("Time using the list_comprehension: {} sec".format(list_comp_end_time -
list_comp_start_time))
for_loop_start_time= time.time()
result=[]
for i in range(0,1000000):
result.append(i*i)
for_loop_end_time= time.time()
print("Time using the for loop: {} sec".format(for_loop_end_time - for_loop_start_time))
Time using the list comprehension: 0.11042404174804688 secTime using the for loop: 0.2071230411529541 sec
list_comp_time = list_comp_end_time - list_comp_start_time
for_loop_time = for_loop_end_time - for_loop_start_time
print("Difference in time: {} %".format((for_loop_time - list_comp_time)/
list_comp_time*100))
Difference in time: 87.55527367398622 %
Bereken $1+2+...+1000000$.
def sum_brute_force(N):
res = 0
for i in range(1,N+1):
res+=i
return res
def sum_formula(N):
return N*(N+1)/2
# Using the formula
formula_start_time = time.time()
formula_result = formula(1000000)
formula_end_time = time.time()
print("Time using the formula: {}
sec".format(formula_end_time - formula_start_time))
Using the formula: 0.000108957290649 sec
# Using brute force
bf_start_time = time.time()
bf_result = sum_brute_force(1000000)
bf_end_time = time.time()
print("Time using brute force: {}
sec".format(bf_end_time - start_time))
Time using brute force: 0.174870967865 sec
Verschil in snelheid: 160,394.967179%
Efficiënte code schrijven met pandas