将带有数字和括号的`numpy.str_`转换为整数

时间:2017-06-30 10:49:40

标签: python arrays string numpy

我一直在阅读一些类似的问题,但没有一个是具体的。

我有一个变量

a = '[ 4.777]'这是numpy.str_

我想将其类型更改为a = 4.777 type(a) = int。我该怎么做?

我尝试写a = np.array(a, dtype='|S4'),但它不起作用。

2 个答案:

答案 0 :(得分:0)

您可以使用re的正则表达式从文本中提取float

import re

a = '[ 4.777]'
a = re.findall('[-+]?[0-9]*\.[0-9]+|[0-9]+', a)[0]

现在a的类型为str,但您可以将其转换为所需类型。

答案 1 :(得分:0)

您可以使用json.loads()

import json
b = json.loads(a)[0]
print type(b)

a的类型为<type 'numpy.string_'>

a = '[ 4.777]'时,输出将为:

float