Usé una función muy simple para cronometrar una parte de la ejecución del código:
import time
def timing():
start_time = time.time()
return lambda x: print("[{:.2f}s] {}".format(time.time() - start_time, x))
Y para usarlo, simplemente llámelo antes del código a medir para recuperar el tiempo de la función, y luego llame a la función después del código con comentarios. El tiempo aparecerá delante de los comentarios. Por ejemplo:
t = timing()
train = pd.read_csv('train.csv',
dtype={
'id': str,
'vendor_id': str,
'pickup_datetime': str,
'dropoff_datetime': str,
'passenger_count': int,
'pickup_longitude': np.float64,
'pickup_latitude': np.float64,
'dropoff_longitude': np.float64,
'dropoff_latitude': np.float64,
'store_and_fwd_flag': str,
'trip_duration': int,
},
parse_dates = ['pickup_datetime', 'dropoff_datetime'],
)
t("Loaded {} rows data from 'train'".format(len(train)))
Entonces la salida se verá así:
[9.35s] Loaded 1458644 rows data from 'train'
round(time.time() - start_time, 2)
(o cualquier decimal que desee), estaba obteniendo números científicos como 1.24e-5.'%.2f'
lugar deround()
aquí.