我有一个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]
,但我无法得到的东西的工作.
谢谢.