首页 > 解决方案 > 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 浮点数组。我已经尝试过这篇文章和其他几个地方描述的方法,但我收到了标题中的错误。为什么这些方法在我的字符串数组中不起作用,我该如何转换它?谢谢。

标签: pythonarrayspython-3.xlistnumpy

解决方案


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.]

推荐阅读