Ich habe eine sehr einfache Funktion verwendet, um einen Teil der Codeausführung zeitlich zu begrenzen:
import time
def timing():
start_time = time.time()
return lambda x: print("[{:.2f}s] {}".format(time.time() - start_time, x))
Und um sie zu verwenden, rufen Sie sie einfach vor dem zu messenden Code auf, um das Timing der Funktion abzurufen, und rufen Sie dann die Funktion nach dem Code mit Kommentaren auf. Die Zeit wird vor den Kommentaren angezeigt. Zum Beispiel:
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)))
Dann sieht die Ausgabe wie folgt aus:
[9.35s] Loaded 1458644 rows data from 'train'