np 保留行包含特定值 python

np keep rows contain specific value python

我有一个二维 numpy 数组,如何只保留包含特定值的行,然后展平数组只保留唯一值。

array([[0, 2],
       [1, 3],
       [2, 4],
       [3, 5],
       [4, 6],
       [5, 7]])

如果我只需要保留包含 2 的行,我希望得到结果 ([0,2,4])

IIUC,你可以使用:

np.unique(a[(a==2).any(1)].ravel())

输出:array([0, 2, 4])

使用pandas

这既更快又不会对数据进行排序

import pandas as pd
pd.unique(a[(a==2).any(1)].ravel())

输出:array([0, 2, 4])

感谢@MichaelSzczesny