Вы можете использовать модуль time
.Если вы также хотите создать новую серию с помощью вычислений, вы можете вывести последовательность кортежей, затем преобразовать их в кадр данных и присвоить обратно двум сериям.
Вот демонстрация:
import time
df = pd.DataFrame({'A': [2, 4, 4, 3, 4]})
def foo(x):
tstart = time.time()
time.sleep(0.25)
tend = time.time()
return 1 + x, (tend-tstart) * 10**3
df[['B', 'B_time']] = pd.DataFrame(df['A'].apply(foo).values.tolist())
print(df)
A B B_time
0 2 3 250.014544
1 4 5 250.014305
2 4 5 250.014305
3 3 4 250.014305
4 4 5 250.014067
В Python 3.7 вы можете использовать time.process_time_ns
, который измеряет время в наносекундах.