【发布时间】:2013-05-30 14:50:11
【问题描述】:
我有两个 numpy 数组:
p_a_colors=np.array([[0,0,0],
[0,2,0],
[119,103,82],
[122,122,122],
[122,122,122],
[3,2,4]])
p_rem = np.array([[119,103,82],
[122,122,122]])
我想从 p_a_colors 中删除 p_rem 中的所有列,所以我得到:
p_r_colors=np.array([[0,0,0],
[0,2,0],
[3,2,4]])
我认为,应该像这样工作
p_r_colors= np.delete(p_a_colors, np.where(np.all(p_a_colors==p_rem, axis=0)),0)
但我只是没有得到正确的轴或 [:]。
我知道,那个
p_r_colors=copy.deepcopy(p_a_colors)
for i in range(len(p_rem)):
p_r_colors= np.delete(p_r_colors, np.where(np.all(p_r_colors==p_rem[i], axis=-1)),0)
会起作用,但我试图避免(python)循环,因为我也想要正确的性能。
【问题讨论】:
-
等一下。这段代码应该做什么?
-
它应该给我一个新的 numpy.array p_r_colors,它是 p_a_colors-p_rem,与其他 2 个数组的形状相同