Skip to main content
 首页 » 编程设计

python之Numpy:如何在某些元素包含额外的引号字符串时将字符串数组转换为 float

2025年05月04日37hnrainll

我正在尝试通过以下方式将字符串转换为浮点类型

X = arr[:,:-1].astype(np.float32) 

然而,如下错误正在上升

ValueError: could not convert string to float: '"53"' 

我知道这意味着我在数组中有一些带有额外引号的元素。 我的问题是我应该如何解决这个问题。如何将数组中的元素“53”转换为 53?

更新 1: 这是一个重现的例子

import numpy as np 
a = np.array([['12','13'],['"53"','44']]) 
a = a.astype(np.float32) 

请您参考如下方法:

尝试从数组中剥离双引号,然后转换为 float 。

像这样:

arr = np.char.strip(arr, '"') 
X = arr[:,:-1].astype(np.float32)