将字符串列表转换为浮点数ndarray

重力质量

我有如下字符串列表:

['0.20115899', '0.111678', '0.10674', '0.05564842', '-0.09271969', '-0.02292056', '-0.04057575', '0.2019901', '-0.05368654', '-0.1708179']
['-2.17182860e-01', '-1.04081273e-01', '7.75325894e-02', '7.51972795e-02', '-7.11168349e-02', '-4.75254208e-02', '-2.94160955e-02']
etc.
etc.

清单的名称是data_det我做了以下工作来找到类型:

for item in data_det:
      print(type(item))
      for it in item:
           print(type(it))

我有

<class 'list'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
etc.

我试图将其转换为ndarray

data_det = numpy.asarray(data_det, dtype=np.float)

但是得到了错误:

return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.

理想情况下,我希望将每个值都转换为浮点型。如何做到这一点?

Arkistarvh Kltzuonstev

尝试这个 :

import numpy as np
l1 = ['0.20115899', '0.111678', '0.10674', '0.05564842', '-0.09271969', '-0.02292056', '-0.04057575', '0.2019901', '-0.05368654', '-0.1708179']
l2 = ['-2.17182860e-01', '-1.04081273e-01', '7.75325894e-02', '7.51972795e-02', '-7.11168349e-02', '-4.75254208e-02', '-2.94160955e-02']

l1 = np.array([float(i) for i in l1])
l2 = np.array([float(i) for i in l2])
print(l1.dtype)

输出

float64

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章