pandas 根据特定列中先前行的值删除重复行

brtdzjyr  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(108)

我有一个类似于以下示例的 Dataframe :

import pandas as pd
data = pd.DataFrame(data={'col1': [1,2,3,4,5,6,7,8,9], 'col2': [1.55,1.55,1.55,1.8,1.9,1.9,1.9,2.1,2.1]})

在第二列col2中,可以看到几个重复的值,分别是1.55的3倍、1.9的3倍和2.1的2倍。我需要做的是删除与前一行重复的所有行。因此,第一行是我希望保留的行。在本例中,这将是col2值为1、4、5 8给出以下 Dataframe 作为我想要的输出:

clean_data = pd.DataFrame(data={'col1': [1,4,5,8], 'col2': [1.55,1.8,1.9,2.1]})

对于一个比这个小例子大得多(就行而言)的 Dataframe ,最好的方法是什么?

e4yzc0pl

e4yzc0pl1#

您可以使用shift

data.loc[data['col2'] != data['col2'].shift(1)]

相关问题