python - Python,无法将字符串转换为浮点数:'7a'
问题描述
我有以下 NumPy 字符串数组
array(['cwp+17', 'cn95', 'awd+12', ..., 'dgb+19', 'mbc+19', 'acd+19']
我已按如下方式对该数组进行切片以获取数字部分
RA = [x[-2:] for x in RA]
RA = np.asarray(RA)
现在看起来像这样
array(['17', '95', '12', ..., '19', '19', '19'], dtype='<U2')
现在,我想将这个字符串数组转换为 NumPy 浮点数组。我已经尝试过这篇文章和其他几个地方描述的方法,但我收到了标题中的错误。为什么这些方法在我的字符串数组中不起作用,我该如何转换它?谢谢。
解决方案
RA = np.array(['cwp+17', 'cn95', 'awd+12', 'aw+7a'])
RA = [re.findall(r'\d+|$', x)[0] for x in RA]
RA = np.asarray(RA).astype(np.float)
print(RA)
out:
[17. 95. 12. 7.]
推荐阅读
- jquery - 对多个 div 使用 jQuery 函数
- node.js - 如何通过 HTTPS 将 Firebase 令牌发送到后端(Node / Express)?
- vue.js - 如何更改 v-alert 内部文本/html?
- php - 显示每个产品的比较属性
- node.js - 如何在 ngOnInit 中使用 subscribe 等待 API 调用完成?
- java - 导航抽屉菜单,项目颜色
- json - 为什么用 jq 解析返回 null?
- html - 字体如何垂直居中?
- php - 是否可以添加数据以查看来自控制器构造函数的数据
- swift - FileManager 和访问应用程序组错误