将unicode数组转换为numpy

时间:2014-12-02 23:57:56

标签: python numpy unicode

我有像这样的unicode字符串数组

u'[(12520, 12540), (16600, 16620)]'

并需要将这些转换为numpy数组。 similar question处理已经有一个带有unicode元素的数组的问题,但在我的例子中,括号是字符串的一部分。有没有办法直接将其转换为numpy数组(int)而无需手动删除括号?

2 个答案:

答案 0 :(得分:5)

您可以使用literal_eval

from ast import literal_eval
import numpy as np
s=u'[(12520, 12540), (16600, 16620)]'

arr= np.array(literal_eval(s))

答案 1 :(得分:1)

您可以按如下方式使用literal_eval

import ast

my_str = u'[(12520, 12540), (16600, 16620)]'

my_nparray = np.array(ast.literal_eval(my_str))

print(my_nparray)

结果:

[[12520 12540]
 [16600 16620]]