熊猫删除重复的行,包括索引

时间:2020-07-25 22:12:49

标签: python pandas dataframe duplicates

我知道如何根据列数据删除重复的行。我也知道如何根据行索引删除重复行。我的问题是:有没有一种方法可以基于索引和一列删除重复的行?

谢谢!

1 个答案:

答案 0 :(得分:1)

这可以通过将索引变成一列来完成。

下面是一个示例数据集(仅供参考,我认为有人不赞成您的问题,因为它不包含示例数据集):

df=pd.DataFrame({'a':[1,2,2,3,4,4,5], 'b':[2,2,2,3,4,5,5]}, index=[0,1,1,2,3,5,5])

输出:

   a  b
0  1  2
1  2  2
1  2  2
2  3  3
3  4  4
5  4  5
5  5  5

然后您可以使用以下行。第一个reset_index()创建一个带有索引号的新列。然后,您可以基于新的索引列和另一列(在本例中为b)删除重复项。然后,您可以使用set_index('index')将索引设置为原始索引值:

df.reset_index().drop_duplicates(subset=['index','b']).set_index('index')

输出:

       a  b
index      
0      1  2
1      2  2
2      3  3
3      4  4
5      4  5