将str转换为float后,numpy数组返回字符串

时间:2017-02-23 13:09:56

标签: python arrays string numpy floating-point

我有一个包含多行的数据数组,如下所示:

['20.57', '17.77', '132.9', ..., '0.07017', '0.1812', '0.05667']

我需要将其转换为浮点数。 第一行是功能名称。

当我尝试执行以下操作时:

for i in features[1,:]:
    i = i.astype(np.float)

并打印每个i,它打印浮动:

20.57
17.77
132.9
and so on

然而,当我打印"功能"时,我得到:

['20.57', '17.77', '132.9', ..., '0.07017', '0.1812', '0.05667']

我做错了什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

只做

features=features.astype(float)

当你执行i = i.astype(float)时,不会影响数组。 并且记住循环数组通常是一个坏主意:改为使用数组方法。