从数据框中选择多列上具有相同值但另一列上具有不同值的行

ddd*_*ddd 1 python dataframe pandas

我有一个带有四个特征列和一个标签列的 pandas 数据框。数据集存在一些问题。有些行的特征值相同,但标记不同。我知道如何使用查找多列的重复项

df[df.duplicated(keep=False)]
Run Code Online (Sandbox Code Playgroud)

如何找到具有冲突标签的重复特征?

例如在这样的数据框中

    a    b    c    label
0   1    1    2     y
1   1    1    2     x
2   1    1    2     x
3   2    2    2     z
4   2    2    2     z
Run Code Online (Sandbox Code Playgroud)

我想在下面输出一些东西

a    b    c    label
1    1    2    y
1    1    2    x
Run Code Online (Sandbox Code Playgroud)

Sco*_*ton 5

IIUC,试试这个:

df[df.groupby(['a','b','c'])['label'].transform('nunique') > 1]
Run Code Online (Sandbox Code Playgroud)

输出:

   a  b  c label
0  1  1  2     y
1  1  1  2     x
2  1  1  2     x
Run Code Online (Sandbox Code Playgroud)