Bim*_*ons 6 python duplicates dataframe pandas
我知道如何根据列数据删除重复行。我还知道如何根据行索引删除重复行。我的问题是:有没有办法根据索引和一列删除重复行?
谢谢!
小智 6
这可以通过将索引转换为列来完成。
下面是一个示例数据集(仅供参考,我认为有人否决了您的问题,因为它不包含示例数据集):
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])
Run Code Online (Sandbox Code Playgroud)
输出:
a b
0 1 2
1 2 2
1 2 2
2 3 3
3 4 4
5 4 5
5 5 5
Run Code Online (Sandbox Code Playgroud)
然后您可以使用以下行。第一个 reset_index() 使用索引号创建一个新列。然后,您可以根据新索引列和另一列(本例中为 b)删除重复项。之后,您可以使用 set_index('index') 将索引设置为原始索引值:
df.reset_index().drop_duplicates(subset=['index','b']).set_index('index')
Run Code Online (Sandbox Code Playgroud)
输出:
a b
index
0 1 2
1 2 2
2 3 3
3 4 4
5 4 5
Run Code Online (Sandbox Code Playgroud)