3
最近我遇到了一個人使用numpy.transpose
而不是numpy.ndarray.T
。我很好奇,所以我計時它:爲什麼numpy.ndarray.T比numpy.transpose(numpy.ndarray)快得多?
from timeit import timeit
import numpy as np
array1015 = np.random.rand(10,15)
def nptrans():
np.transpose(array1015)
def npt():
array1015.T
print(timeit(nptrans))
print(timeit(npt))
結果爲:
np.transpose: 1.25864219666
np.ndarray.T: 0.720939874649
爲什麼?他們不應該在引擎蓋下做同樣的事嗎?也許np.transpose
正在做某種錯誤檢查或者減慢它的速度?
我明白了。那麼有問題的代碼是一個Udacity項目的神經網絡,所以它可能會有所作爲,我必須檢查。 – wordsforthewise