这是我正在处理的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?
答案 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. ]])