python – 读取打印的numpy数组
发布时间:2020-05-23 20:46:59 所属栏目:Python 来源:互联网
导读:有时提供打印的numpy数组来共享数据,例如 this post.到目前为止,我手动转换了它.但是帖子中的数组太大而无法手工转换. 我想将numpy数组的字符串表示形式转换回数组. (谢谢,@ LevLevitsky.我引用你的表达.) 我试过这段代码 import numpy as npprint np.array([
|
有时提供打印的numpy数组来共享数据,例如 this post.到目前为止,我手动转换了它.但是帖子中的数组太大而无法手工转换. 我想将numpy数组的字符串表示形式转换回数组. (谢谢,@ LevLevitsky.我引用你的表达.) 我试过这段代码 import numpy as np
print np.array([[0,1],[2,3]])
#[[0 1]
# [2 3]]
# the output is
output = '''[[0 1]
[2 3]]'''
import re
pat_ignore = re.compile(r'[[]]')
numbers = pat_ignore.sub('',output)
print np.array([map(float,line.split()) for line in numbers.splitlines()])
[[ 0. 1.]
[ 2. 3.]]
但是,这不能保留数据类型.如果ndim> 3,它无法正常工作. [[[0 1] [2 3]]] 被解释为 [[ 0. 1.] [ 2. 3.]] 解决方法您可以使用re来处理字符串,然后使用eval()创建数组:import re
from ast import literal_eval
import numpy as np
a = """[[[0 1]
[2 3]]]"""
a = re.sub('s+',',a)
a = np.array(literal_eval(a)) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
