我使用Python 2.7.5 numpy的形狀輸出出於某種原因,蟒蛇,當我在if語句中使用我的numpy的陣列的尺寸之一,具有比較不喜歡它:在Windows 7上使用邏輯
a = np.array([1,2,3,4])
# reshapes so that array has two dimensions
if len(np.shape(a)) == 1:
a = np.reshape(a, (1, np.shape(a)))
b = np.shape(a)[0]
if b <= 3:
print 'ok'
我創建了一維numpy數組(實際上'a'是可能是1D或2D的輸入)。然後我重塑這個形成一個2D numpy數組。我嘗試使用新創建的尺寸作爲比較器,我得到一個錯誤:「TypeError:一個整數是必需的」
我也試過「int(b)」將長整數轉換爲一個純整數在if語句中,它給出了相同的錯誤。如果我輸入「(b)」,它會給我「輸入」long「。我覺得我以前做過這個沒有任何問題,但我找不到任何例子。它是如何將一維數組更改爲二維數組的?任何幫助表示讚賞。
這行會拋出錯誤? – csunday95
'np.shape(a)'將會是一個元組,所以當你做'(1,np.shape(a))'' – Ajean
時,你最終會得到一個元組中的元組'。第二個if語句會拋出錯誤「if b <= 3:」,但下面的海報是正確的,錯誤實際上是我如何重塑a的。 – Eric