我有一個Numpy二維數組,其中一列有布爾值,即True
/False
。我想分別將它轉換爲整數1
和0
,我該怎麼做?如何從布爾值數組轉換爲int數組在Python中
E.g.我data[0::,2]
是布爾,我試過
data[0::,2]=int(data[0::,2])
,但它給我的錯誤:
TypeError: only length-1 arrays can be converted to Python scalars
我的第5行排列的是:
[['0', '3', 'True', '22', '1', '0', '7.25', '0'],
['1', '1', 'False', '38', '1', '0', '71.2833', '1'],
['1', '3', 'False', '26', '0', '0', '7.925', '0'],
['1', '1', 'False', '35', '1', '0', '53.1', '0'],
['0', '3', 'True', '35', '0', '0', '8.05', '0']]
這不能是2D數組,因爲在2D數組中,所有元素都具有相同的類型。可能你有一個結構化數組。請問你能從它和它的'dtype'中顯示幾行完整的行嗎? – kirelagin
好吧,那些引號應該暗示你有一串字符串。因此,再次,在numpy中,2D陣列的所有元素都必須具有相同的類型。你或者需要[結構化數組](http://docs.scipy.org/doc/numpy/user/basics.rec.html)或者只是擺脫numpy並使用普通的Python列表。你爲什麼需要大塊頭,你最終的目標是什麼? – kirelagin
其實我正在學習一個關於使用python的機器學習項目的教程,由於我是python的新手,我正面臨着這些困難,它要求使用numpy數組。所以,如果你能告訴我如何將整個字符串數組轉換爲浮點數,那很好,因爲很明顯,它可以轉換爲浮點數(將true設爲1,fase設爲0)。 –