我想將一個numpy數組從一個整數轉換爲字符串,但是我的方法不工作,我想這可能也有一個更優雅的方法來解決我的問題。Numpy整數字符串
所以我有一個叫做「landuse」的整數數組,它是一系列代表不同土地利用類別的數字1-3。這是我目前的做法...(即不工作ATM)
landuse2 = landuse.astype('S10')
for name in landuse2:
if name == '1.0':
name = 'Forest'
elif name = '2.0'
name = 'Water'
else:
name = 'Urban'
我已經嘗試過的if語句來調用只是數字1,「1」,「1.0」,1 *沒有運氣。它運行時沒有錯誤,landuse2轉換爲10個字符的字符串(儘管只有'1.0'被寫入數組中),但for循環沒有更新我的表。
編輯
對不起,我會一直在我的陣列是如何組織的更具體。 Landuse是名爲Data的更大陣列的一部分,該陣列有10列和10,000行。
我已經簡單地定義landuse2如下
landuse2 = Data[Landuse]
然後我本來打算用landuse2代替原來的數據[土地利用]
我認爲這會工作,但是我首先需要將土地利用轉換浮動到一個int
Data[Landuse]=np.array([a.setdefault(i,'Urban') for i in Data[Landuse]],dtype='|S10')
但是我試圖改變這種狀況浮筒由astype整數一直無果
Data[Landuse]= Data[Landuse].astype('int')
謝謝......這是一個有幫助和明確的解釋 – BJEBN 2012-03-02 09:40:19