我正在運行python 3.5並試圖將大字符串轉換爲numpy數組。使用ast.literal_eval評估複雜表達式()
我用answer from stack overflow把這段代碼放在一起。
import ast
import numpy as np
str = '["8.4","4.3E-7"]'
arr = ast.literal_eval(str)
x = np.array(arr, dtype='|S4')
y = x.astype(np.float32)
我收到folllowing值誤差
ValueError: could not convert string to float: '4.3E'
str是一個字符串的話,大部分的數字不具有E-一些模式,但偶爾也會出現這種情況,我的代碼掛斷。
有沒有辦法在這種情況下將字符串轉換爲numpy數組?
'| S4'是最大長度爲4個字符。你沒有給足夠的空間。 – user2357112
儘管如此,您根本不需要指定dtype。它會被推斷給你。 (我會去編輯其他答案來澄清事情。) – user2357112
@ user2357112如果你只是發佈一個答案,我可以正式接受接受。感謝您的答案,但是...結果有很多要從這個社區學習:) – akhileshsk