Код: Выделить всё
col_value = df.select(df.columns[0]).first()[0]
start_time = time.time()
col_value = datetime.strftime(col_value, "%Y-%m-%d %H:%M:%S") \
if isinstance(col_value, datetime) \
else col_value
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)
Однако после того, как я поместил этот код в цикл Python, все изменилось. стать странным. Вот код
Код: Выделить всё
for col in df.columns:
col_value = df.select(col).first()[0]
start_time = time.time()
col_value = datetime.strftime(col_value, "%Y-%m-%d %H:%M:%S") \
if isinstance(col_value, datetime) \
else col_value
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)
Затем я удаляю логику преобразования времени и заново - повторите статистику, включая весь цикл:
Код: Выделить всё
loop_start_time = time.time()
for col in col_list:
start_time = time.time()
# Nothing was done here
end_time = time.time()
elapsed_time = end_time - start_time
print(col, elapsed_time)
loop_end_time = time.time()
loop_elapsed_time = loop_end_time - loop_start_time
print(f"Loop time cost {loop_elapsed_time} seconds")
Почему это сделано случаться? Я что-то пропустил? Как правильно измерять стоимость каждого оператора и функции Python?
Подробнее здесь: https://stackoverflow.com/questions/791 ... k-notebook