python - 将字符串转换为二维 numpy 数组
问题描述
我有一个从 .mat 文件加载的字符串,格式如下:
(array([172.169, 73.2]), array([128.83, 102.31]), array([143.49, 124.43]), array([186.83, 95.69]), 'R', array([], dtype=float64))
有什么办法可以直接将其转换为 numpy 2D 数组,而无需解析整个字符串并手动删除“数组”?也numpy.fromstring
不会numpy.frombuffer
在这里工作。
解决方案
您可以使用np.fromstring
正则表达式:
import re
# s is your string
np.fromstring(', '.join(re.findall(r'\[(.+?)\]', s)), sep =', ').reshape((2, 2, 2))
输出:
array([[[172.169, 73.2 ],
[128.83 , 102.31 ]],
[[143.49 , 124.43 ],
[186.83 , 95.69 ]]])
推荐阅读
- node.js - 为什么 request.query 不再是“任何”?表达 request.query 打字稿错误
- css - 带有阴影的 div 中的可点击元素:插图
- bash - bash 4.1.2(2):如何在 for 循环中应用正则表达式逆匹配?
- php - 如何将特定的 json 值保存在文件中?
- python-3.x - 从 git-hub 安装 python 软件时出错
- mvvm - 在 Knockout 视图模型中捕获差异/增量有效负载
- ios - 无法在视图控制器上为表视图和分段控制添加约束
- assembly - atmel studio 1到100之间的数字之和
- outlook - 如何在 Outlook Web 加载项中选择范围并更改特定单词的字体颜色
- sql - FieldType为子页面时的Oracle SQL递归查询