Обычно это зависит от того, какой у вас индекс фрейма данных, выбрасывая случайный фрейм данных из 10 ^ 7 значений во времени, и мы получаем следующее.
С точки зрения производительности усечение более неэффективно, поскольку pandas оптимизирован для целочисленной индексации через numpy.
Truncate:
62.6 ms ± 3.63 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Bracket Indexing:
54.1 µs ± 4.41 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
ILoc:
69.5 µs ± 4.52 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
Loc:
92 µs ± 5.09 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
Ix (which is deprecated):
110 µs ± 8.44 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
РЕДАКТИРОВАТЬ Это все на пандах 0.24.2, в версиях 0.14-0.18 производительность loc была намного хуже