根据另一列中的值从数据集中删除重复项

时间:2017-09-02 08:17:23

标签: python pandas

我想根据另一列中的值从数据集中的特定列中删除重复项。将此视为我的数据集:

A    B
1    10
1    10
1    12
1    13
2    10
2    24
2    10
3    9
3    10
3    9

我想删除B列中的重复项,但是根据A栏中的值。这样的事情:

A    B
1    10
1    12
1    13
2    10
2    24
3    9
3    10

对于A列中的值,B列中不应存在任何重复值。我考虑使用 drop_duplicate ,但如何在其中灌输条件?

2 个答案:

答案 0 :(得分:0)

也许你可以使用:

df.groupby(['A'])['B'].apply(np.unique)

但是这条指令并没有返回数据帧,但是这样的话:

A
1    [10, 12, 13]
2        [10, 24]
3         [9, 10]
Name: B, dtype: object

答案 1 :(得分:0)

简单的df.drop_duplicates(subset=['A','B'])应该会产生预期的输出。在这种情况下,任何A和B都与前一行匹配的行将被视为重复并删除。