Несмотря на то, что ваш контрольный пример с заголовками некорректен, x
является лишь справочным указанием, ваше наблюдение выглядит менее экстремальным для
>>> timeit(lambda: x[a], number=1000000)
1.8212362979538739
>>> timeit(lambda: x.copy(), number=1000000)
1.2187692462466657
Здесь мы видим стоимость расширенной индексации. «Обычная» индексация слайсов стоит значительно дешевле, но все еще имеет накладные расходы:
>>> np.all(x[:20] == x[a])
True
>>> timeit(lambda: x[:20].copy(), number=1000000)
0.7956113098189235