arrays - NP.Array 之间的提取
问题描述
我有一个 Numpy 数组,如下所示:
array(['xsf (Parse EE1)', 'xxdsf (Parse E1A)',
'sef(Parse E1A)'], dtype='<U36')
如何将文本保留在“Parse”和“)”之间并删除其他所有内容,以便结果如下所示:
array(['EE1', 'E1A',E1A'], dtype='<U36')
请注意,我正在使用相当大的数组,我的首要目标是提取“Parse”和“)”之间的文本。
在此先感谢:) 埃德
解决方案
如果您有固定格式,则可以使用带有切片的列表推导
ary = np.array(['xsf (Parse EE1)', 'xxdsf (Parse E1A)',
'sef(Parse E1A)'], dtype='<U36')
np.array([x[-4:-1] for x in ary])
array(['EE1', 'E1A', 'E1A'], dtype='<U3')
或str.find
用于获取子字符串的索引
np.array([x[x.find('Parse ') + len('Parse '):x.find(')')] for x in ary])
array(['EE1', 'E1A', 'E1A'], dtype='<U3')
推荐阅读
- numpy - 为什么 numpy 数组的 cythons 就地除法使用转换为 python 浮点数?
- c# - C# CLI RPG:为什么我不能控制台记录我的 Struct(InventoryItem) 类型的 List(Inventory)?
- excel - 如果年份和月份匹配,则进行计算
- css - 我的垂直导航栏在我的水平导航栏之上,即使 z-index 使用 CSS 更大?
- android - 如果条件无效,则拦截 TabSelected - Android TabLayout
- ms-access - 可以根据组合框选择动态设置 SendObject 中的“收件人:”字段吗?
- android-studio - Android Studio 中的模拟器有问题。小屏幕和应用程序无法运行
- r - 管道语句中的舍入向量仅产生向量中的第一个元素
- php - 遍历订单项目时如何检查自定义复选框产品元的值
- node.js - 针对不同 Node.js 版本编译的模块 - SQLite3 错误