【发布时间】:2018-08-08 14:08:13
【问题描述】:
在 Python 中工作,我的数据如下所示:
myList = [[1,0],
[0,1],
[1,1],
[0,0],
[0,1]]
我想使用 numpy 来检查每个子列表是否等于特定列表,如果满足条件,则返回单个 True 或 False。
但是,如果我天真地这样做,例如:
evaluation = np.array(myList)==[1,1]
我得到的结果如下所示:
[[True,False],
[False,True],
[True,True],
[False,False],
[False,True]]
当我真的想要这样的输出时:
[False,
False,
True,
False,
False]
有什么想法吗?我知道您可以通过列表理解来执行此操作并避免使用 numpy,但似乎应该有一种矢量化的方式来执行上述操作而无需显式循环。真实数据要大得多,采用更快的方法会很有帮助。
【问题讨论】:
-
它是否以列表形式开始?将其转换为数组需要时间,这可以平衡无循环时间节省。测试列表理解。它可能不会那么慢。
标签: python arrays loops numpy boolean