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

标签 python numpy

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

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)

关于python - Numpy:如何在某些元素包含额外的引号字符串时将字符串数组转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53293444/

相关文章:

python - 在 AudioLazy 库中从 python 中的 zfilter 对象中提取数值

python - 在类之间传递 tkinter Canvas ,而不从父级内部调用子级

python - 基本 numpy 乘法的问题

python - 某些列的 Pandas 平均值

python - 断言错误 : Wrong values for d ['w' ] | deeplearning specialization

python - Visual Studio Code Unresolved 导入 `sys`、 `time`、 `errno`

python - 为什么编程语言同样限制 22/7 的精度?

python - 如何使用 virtualenv 部署具有依赖项的 python webapp?

python - 打印不带括号的 numpy 数组

python - 根据行值将一行插入 Pandas 数据框中?