int('0'+s)
用零加上字符串。把它看作一個微型解析步驟。 我無法想象這種情況不會奏效。
這是用例我: 轉換字符串數組numpy的爲整數。
def _intStrArray(pos): return int('0'+pos)
np.intStrArray = np.vectorize(_intStrArray)
print(arr)
array([['', '', '', '', '', '', '', '', '', '', '', '', ''],
['', '', '1', '', '', '2', '', '2', '', '', '', '', ''],
['', '2', '2', '', '3', '2', '', '', '2', '', '', '', ''],
['', '2', '', '3', '2', '2', '3', '4', '', '4', '', '', ''],
['', '', '3', '2', '2', '', '', '3', '3', '', '2', '1', ''],
['', '', '', '1', '2', '', '3', '2', '', '', '', '', ''],
['', '', '2', '', '2', '4', '3', '', '2', '1', '', '2', ''],
['', '', '', '', '', '', '2', '', '', '1', '', '1', ''],
['', '', '', '', '', '', '', '', '', '', '', '', '']], dtype=object)
print(np.intStrArray(arr))
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0],
[0, 2, 2, 0, 3, 2, 0, 0, 2, 0, 0, 0, 0],
[0, 2, 0, 3, 2, 2, 3, 4, 0, 4, 0, 0, 0],
[0, 0, 3, 2, 2, 0, 0, 3, 3, 0, 2, 1, 0],
[0, 0, 0, 1, 2, 0, 3, 2, 0, 0, 0, 0, 0],
[0, 0, 2, 0, 2, 4, 3, 0, 2, 1, 0, 2, 0],
[0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
發現我的數據是多麼混亂的是,我還加了str()
。如果數據類型可靠,這是可選的。
def _intStrArray(pos): return int('0'+str(pos))
np.intStrArray = np.vectorize(_intStrArray)
你想要在轉換空字符串時得到什麼數字? – shyam 2013-04-30 12:22:39
它應該是讀取串行端口,所以它不會是空的。你能給我提供任何解決方案嗎? – user2335656 2013-04-30 12:31:56