Python 将矩阵的元素转换为浮点数

Python 将矩阵的元素转换为浮点数,python,string,Python,String,下面是我正在处理的数据_1的输出: print(data_1) [['1.0' '1.585' '1.78'] ['1.0' '1.908' '1.816'] ['1.0' '1.7' '1.732'] ..., ['1.0' '1.046' '4.824'] ['1.0' '1.138' '4.874'] ['1.0' '1.016' '5']] 我试图通过使用以下代码将元素转换为浮点数: data_2 = float(data_1) 但是我得到了以下错误 Typ

下面是我正在处理的数据_1的输出:

print(data_1)  

[['1.0' '1.585' '1.78']
 ['1.0' '1.908' '1.816']
 ['1.0' '1.7' '1.732']
 ..., 
 ['1.0' '1.046' '4.824']
 ['1.0' '1.138' '4.874']
 ['1.0' '1.016' '5']]
我试图通过使用以下代码将元素转换为浮点数:

data_2 = float(data_1)   
但是我得到了以下错误

TypeError: only length-1 arrays can be converted to Python scalars

如何将此矩阵的元素转换为浮点?

似乎您有一个numpy数组,
float
是一个只接受标量作为参数的基本python函数,即它只能将标量转换为浮点。对于numpy数组,有一个内置的
astype
函数可用于类型转换:

data_1.astype(float)
# array([[ 1.   ,  1.585,  1.78 ],
#        [ 1.   ,  1.908,  1.816],
#        [ 1.   ,  1.7  ,  1.732],
#        [ 1.   ,  1.046,  4.824],
#        [ 1.   ,  1.138,  4.874],
#        [ 1.   ,  1.016,  5.   ]])