我有一个 numpy 数组和一个列表。我想删除列表中包含的行。
a = np.zeros((3, 2))
a[0, :] = [1, 2]
l = [(1, 2), (3, 4)]
目前,我尝试通过制作一组a's 行来做到这一点,然后排除set创建的 from l,例如:
sa = set(map(tuple, a))
sl = set(l)
np.array(list(sa - sl))
或者更简单
sl = set(l)
np.array([row for row in list(map(tuple, a)) if row not in sl]
当每一行都很短时,这些工作得很好。
有没有更快的方法?我需要优化速度。
相关分类