目前我正在從一個文本文件中提取測量數據的python腳本。我正在使用iPython筆記本和Python 2.7Python:當一個數組移位時,numpy數組是否被鏈接?
現在我遇到了一些奇怪的行爲時使用numpy數組。我對此沒有任何解釋。
myArray = numpy.zeros((4,3))
myArrayTransposed = myArray.transpose()
for i in range(0,4):
for j in range(0,3):
myArray[i][j] = i+j
print myArray
print myArrayTransposed
導致:
[[ 0. 1. 2.]
[ 1. 2. 3.]
[ 2. 3. 4.]
[ 3. 4. 5.]]
[[ 0. 1. 2. 3.]
[ 1. 2. 3. 4.]
[ 2. 3. 4. 5.]]
因此,沒有轉置陣列上的工作,值這個數組中更新。
這怎麼可能?
轉不創建一個副本。它只是改變了讀取相同數據的順序。如果numpy文檔沒有提到這個,會很奇怪 – M4rtini
他們確實提到它[這裏](http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.ndarray.transpose.html) 。如果你想要一個真正的副本,返回值是對原始數組「 – Wombatz
'myArray.T.copy()」的「視圖」。 '.T'是'.transpose()的簡寫'' – M4rtini