6

私は2つのnumpy-arraysを持っています:

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_rem にある p_a_colors からすべての列を削除したいので、次のようになります。

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)ループを避けようとしています。

4

3 に答える 3