更快地计算numpy数组python中字符串出现次数的方法

 mobiledu2502875697 发布于 2023-02-11 14:53

我有一个numpy元组:

trainY = np.array([('php', 'image-processing', 'file-upload', 'upload', 'mime-types'),
                   ('firefox',), ('r', 'matlab', 'machine-learning'),
                   ('c#', 'url', 'encoding'), ('php', 'api', 'file-get-contents'),
                   ('proxy', 'active-directory', 'jmeter'), ('core-plot',),
                   ('c#', 'asp.net', 'windows-phone-7'),
                   ('.net', 'javascript', 'code-generation'),
                   ('sql', 'variables', 'parameters', 'procedure', 'calls')], dtype=object)

我给出了这个np.array子集的索引列表:

x = [0, 4]

和一个字符串:

label = 'php'

我想计算标签'php'出现在np.array的这个子集中的次数.在这种情况下,答案是2.

笔记:

1)标签只会出现在元组中的最多ONCE

2)元组的长度可以是1到5.

3)列表的长度x通常为7-50.

4)长度trainY约为0.8密耳

我目前的代码是:

sum([1 for n in x if label in trainY[n]])

这是我的程序的性能瓶颈,我正在寻找一种方法来使它更快.我认为,我们可以在跳过循环x,只是做了矢量化仰视trainY喜欢trainY[x],但我无法得到的东西的工作.

谢谢.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有