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

时间:2017-02-10 03:54:58

标签: python string

这是我正在处理的data_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

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

1 个答案:

答案 0 :(得分:1)

好像你有一个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.   ]])