我正在使用 Numpy,我有一個如下所示的矩陣:
[["5","6"],
["3","4.5"]]
如何將所有這些值轉換為浮點數?
uj5u.com熱心網友回復:
試試numpy.ndarray.astype(float)。在這里閱讀更多。
注意:這不是就地操作,因此請記住將其設定回變數
import numpy as np
arr = np.array([["5","6"],
["3","4.5"]])
arr = arr.astype(float) #<---
print(arr)
print(type(arr[0,0])) #printing type of a single element in the matrix
array([[5. , 6. ],
[3. , 4.5]])
<class 'numpy.float64'>
uj5u.com熱心網友回復:
這是一種無需額外庫/模塊即可就地完成的方法:
ll = [["5","6"], ["3","4.5"]]
def transform(ll):
for i in range(len(ll)):
if type(ll[i])==str:
ll[i]=float(ll[i])
elif type(ll[i])==list:
transform(ll[i])
return ll
print(transform(ll))
輸出是:
[[5.0, 6.0], [3.0, 4.5]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/403523.html
標籤:
下一篇:為什么使用scipypdist(metric='jaccard')與scipyjaccard生成距離矩陣時會出現差異?
