Python将字符串矩阵转换为浮点矩阵

时间:2020-01-28 22:04:13

标签: python numpy

我想将以下矩阵(字符串)转换为浮点数

           0                0                0                0                0
            0                0                0                0       78.2949219
   81.0840607       83.2369537   0.000100000005       101.055199       78.5405502

我用过

import numpy as np
number = []
for line in filename:
    number.append(line)
number = np.array(number)
number_float = number.astype(np.float)

但是它给了我: ValueError:无法将字符串转换为浮点型:'0 0 0 0 0 \ n' 是因为\ n吗?

1 个答案:

答案 0 :(得分:1)

您没有二维矩阵,只有一个字符串列表,每行一个元素。您需要将其拆分为单独的数字。

for line in filename:
    number.append(line.split())

您还可以同时进行浮点转换,并且可以使用列表推导来构建列表。

number = [[float(cell) for cell in line] for line in filename]