【发布时间】:2019-08-12 20:55:36
【问题描述】:
很简单:
我有一个数组:
users = numpy.empty(10000, "U25, int16, int16, int16")
print(users)
[('', 0, 0, 0) ('Jim', 0, 0, 0) ('', 0, 0, 0) ..., ('', 0, 0, 0) ('', 0, 0, 0)
('', 0, 0, 0)]
我想返回包含字符串“Jim”的行,也就是索引为 2 的行:
('Jim', 0, 0, 0)
最快的方法是什么?
【问题讨论】:
-
您的数组是一维的,这意味着您打印 users.shape 将返回 (10000,)
-
一维数组中的一行是什么概念?你怎么知道字符串
'Jim'包含在一个未初始化的空数组中? -
测试数组必须有一个匹配的数据类型。
np.array(('Jim',0,0,0), dtype=users.dtype). -
也可以搜索
users['f0'],一维字符串dtype数组。